0
我試圖用這個簡單的子查詢Mysql的group_concact我在做什麼錯
select * from users u
where u.user_id in
(
select GROUP_CONCAT(f.favorite_id SEPARATOR ',') as favourites
from favourite_user f
where f.user_id in(14) group by user_id
)
得到一個特定用戶的所有用戶喜愛當我運行子查詢select GROUP_CONCAT(f.favorite_id SEPARATOR ',') as favourites from favourite_user f where f.user_id in(14) group by user_id
它給我造成6,8,11,10,13,15,7,12
當我運行這個查詢select * from users u where u.user_id in (6,8,11,10,13,15,7,12)
它返回7行結果
但是,當我運行上述主查詢它只是給我1行(第一個)而不是7.
任何人都可以解釋我什麼是我做錯了。我知道這也可以做到與加盟,但我想知道爲什麼這種方法是行不通的
預先感謝您
任何具體你需要使用GROUP_CONCAT原因是什麼? –
'group_concat'爲您提供一個字符串作爲結果。這在'in'中不起作用。 'in'需要單獨的ID。 –
@ArunKumarM我想在所需的逗號分隔符ID –