使用多个联接表在MySQL中声明变量
我试图得到一个最初创建ID的月份的结果列,在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
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'