我有一個查詢:Mysql的GROUP_CONCAT
SELECT GROUP_CONCAT(stores.store_name)
FROM stores
WHERE stores.id IN
(
SELECT
GROUP_CONCAT(users_x_stores.store_id) as stores_list
FROM users_x_stores
WHERE users_x_stores.user_id = 4
);
子查詢,單獨運行時,返回的3個結果GROUP_CONCAT - 14,4,8。
ID 14,4,8有相應的行 - 但整體查詢只返回一個商店名稱。
如果我將子查詢更改爲簡單的14,4,8,則整個查詢將起作用,並返回3個商店名稱的並置。
誰能告訴我我在這裏做錯了什麼嗎?
謝謝。
我相信你想擺脫第二'GROUP_CONCAT的(。 ..)'function:'選擇users_x_stores.store_id作爲stores_list ...' – Phylogenesis
您是否嘗試過沒有GROUP_CONCAT的子查詢?我相信外部IN可以接受查詢結果以及逗號分隔列表。 – Anthony
Phylogenisis - 不錯的一個,這是答案,它現在工作正常。我在我的GROUP_CONCATs中過分熱心。 – ArkadePaulG