这个小的 SQL 错误困扰着我。查询似乎没有问题,只是范围(?),示例效果最好:
SELECT ocp.*, oc.*, GROUP_CONCAT( u.username SEPARATOR ', ') AS `memjoined`
FROM gangs_ocs_process ocp, gangs_ocs oc
LEFT JOIN users u ON u.userid IN ( ocp.membersin )
WHERE ocp.ocid =1 AND ocp.gangid =1 AND oc.oc_name = ocp.crimename
GROUP BY ocp.ocid
LIMIT 0 , 30
有一个列 (gangs_ocs_process.membersin),其中包含已加入的 ID 列表(即 1、2、5)。我正在尝试一次性获取每个 ID 的用户名(从users
表中)。
问题是LEFT JOIN users u ON u.userid IN ( ocp.membersin )
如果我替换1,2,4
为ocp.membersin
(放置文字列表而不是列名),它可以正常工作。它返回一个包含用户名 ( image ) 的列。但是,如果我离开 ocp.membersin,我会收到以下错误:
#1054 - Unknown column 'ocp.membersin' in 'on clause'
这是我第一次在左连接中使用 IN,所以我有点迷茫。
任何帮助都会很棒:)