Mysql 使用不同表中的ID列表查询数据
我正在MySQL中尝试这样做。使用来自另一个表的ID列表查询一个表。该组返回我要在第一次选择中使用的逗号分隔ID列表。我的尝试导致了一个错误 错误代码:1064。您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,了解第2行“在选择组中_CONCATt.id分隔符”、“从m.my_aspnet_detai”附近使用的正确语法 如何用正确的语法编写Mysql 使用不同表中的ID列表查询数据,mysql,sql,Mysql,Sql,我正在MySQL中尝试这样做。使用来自另一个表的ID列表查询一个表。该组返回我要在第一次选择中使用的逗号分隔ID列表。我的尝试导致了一个错误 错误代码:1064。您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,了解第2行“在选择组中_CONCATt.id分隔符”、“从m.my_aspnet_detai”附近使用的正确语法 如何用正确的语法编写 SELECT * FROM m.my_aspnet_membership m where m.userId = IN ( SELECT
SELECT * FROM m.my_aspnet_membership m
where m.userId = IN
(
SELECT GROUP_CONCAT(t.id SEPARATOR ',')
FROM m.my_aspnet_details t
WHERE t.customerid = '2'
);
不需要分组
SELECT * FROM m.my_aspnet_membership m
where m.userId = IN
(
SELECT t.id
FROM m.my_aspnet_details t
WHERE t.customerid = '2'
);
或者最好使用JOIN
SELECT *
FROM m.my_aspnet_membership
INNER JOIN m.my_aspnet_details t ON t.id=m.userId
WHERE t.customerid = '2'
我认为在语句中使用in是不可能的。。我想它会把它看作一个字符串,而不是用逗号分隔的值。尝试使用instrconcate…,转换为IDThankyouStanislavl的字符串!JOIN版本非常有效。在版本中,我得到一个错误。错误代码:1064。您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解在第2行的SELECT t.id FROM m m.my\u aspnet\u details t其中t.customerid='中使用的正确语法