2015-05-29 47 views
0
SELECT name FROM users WHERE id 
    IN ((SELECT manager FROM users_info WHERE id_user = 1)) 

這裏WHERE IN()的子查詢返回此格式的一列和行,例如, 12,13(內爆數組,如果ID)的MySQL內爆子查詢結果和在哪裏使用

但是整個SELECT僅返回第一nameid = 12。它應該返回2行。我曾嘗試在子查詢上使用CONCAT()函數,但只有一個結果。

+0

你能描述表用戶和users_info? – teoreda

+0

是管理器包含像'12,13'這樣的數據的字符串格式的逗號分隔的數據,然後使用Find_in_Set? – Anil

回答

0

使用FIND_IN_SET()

SELECT `name` FROM `users` WHERE FIND_IN_SET (`id`,(SELECT `manager` FROM `users_info` WHERE `id_user`='1')) >0; 
+0

我是4秒後,然後你在發表評論關於Find_in_Set() – Anil

+0

謝謝。它正在工作。 :) – Pepet

+0

太棒了! @Pepet你會接受我的答案嗎? – AVM