Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用多个联接表在MySQL中声明变量_Mysql_Sql_Syntax_Declare - Fatal编程技术网

使用多个联接表在MySQL中声明变量

使用多个联接表在MySQL中声明变量,mysql,sql,syntax,declare,Mysql,Sql,Syntax,Declare,我试图得到一个最初创建ID的月份的结果列,在MySQL工作台中需要多个表联接 SET @in_month = '0'; SELECT ca.id FROM capital.user ca JOIN capital.user_account cd on ca.id = cd.user_id JOIN capital.transaction ct on cd.user_id = ct.user_account_id JOIN capita

我试图得到一个最初创建ID的月份的结果列,在MySQL工作台中需要多个表联接

SET @in_month = '0';

SELECT 
    ca.id
FROM capital.user ca
    JOIN 
    capital.user_account cd on ca.id = cd.user_id
    JOIN
    capital.transaction ct on cd.user_id = ct.user_account_id
    JOIN
    capital.transaction_event ce on ct.id = ce.auth_entry_id 

  @in_month = month(ce.created) WHERE ce.message = 'Approved'

Group by id;

我得到语法错误:“@in_month”(在文本后缀处)在第17行的这个位置不是有效的输入,你知道我可能做错了什么吗?我对SQL没有太多的经验

在变量声明和连接条件之后缺少分号

    SET @in_month = '0';

    SELECT 
        ca.id
    FROM capital.user ca
    JOIN capital.user_account cd on ca.id = cd.user_id
    JOIN capital.transaction ct on cd.user_id = ct.user_account_id
    JOIN capital.transaction_event ce on ct.id = ce.auth_entry_id  and 
         @in_month = month(ce.created) 
    WHERE ce.message = 'Approved'
    Group by id;

在变量声明之后,请使用详细的错误消息更新您的问题,即您在变量声明中使用了用户分号(;),请阅读第1行和第17行的分号“错误:此位置的输入无效”。您在declare语句中也缺少分号,这就是它引发错误的原因。我已经更新了代码。。查看语法错误:“Declare”(Declare)在第1行的这个位置是无效的输入,语法错误:“@in_month”(文本后缀)在第17行的这个位置是无效的输入,您不必在in_month INT执行这个Declare;在你的代码中…检查一下我明白你的意思了,Ankit,我已经删除了第1行。不幸的是,我仍然在第17行的这个位置得到相同的语法错误无效输入。。现在是第16行@in_moth=月份(ce.created),其中ce.message='Approved'