我有一個子查詢,我的IN表達式來自主表中的一列。 MySQL將這個列看作一個字符串。我該如何解決?如何使WHERE IN不是字符串?
因此,舉例來說,我的查詢被解釋爲:
SELECT song.title,
(SELECT group_concat(username) FROM users WHERE user_id IN ('4,9')) as editors
FROM songs song WHERE ...
的「4,9」從所謂editors_list我的歌曲表列是user_ids的CSV到來。
因此MySQL只能做一個匹配上的4 user_ID的我怎樣才能使MySQL看songs.editors_list爲4,9,以便查詢看起來像:
SELECT song.title,
(SELECT group_concat(username) FROM users WHERE user_id IN (4,9)) as editors
FROM songs song WHERE ...
,因此它匹配上USER_ID = 4,USER_ID = 9
我當前的查詢是這樣的:
SELECT song.title,
(SELECT group_concat(username) FROM users WHERE user_id IN (song.editors_list)) as editors
FROM songs song WHERE ...
這是沒有意義的使用GROUP_CONCAT,然後在其中篩選數據。你目前的模式是什麼?你的預期結果是什麼?示例數據將有助於 –