如何在一个结合多个查询?

时间:2013-04-16 18:45:49

标签: mysql

我有桌子

# users
 id
 name
# images
 id
 name
# images_data
 id
 users_id
 images_id

我如何使用此类数据进行请求

# users
 id 
 name
 images

images保持列表图像name的位置(函数concat_ws(',',QUERY)之后的4示例)。 输入参数users.id

4例如,我有数据

#users
-1
-admin
--2
--manager
#images
-1
-Blackwhole
--2
--Sun
---3
---Moon
#images_data
-1
-1
-1
--2
--1
--2
---3
---2
---1

我想要

#users
-1
-admin
-Blackwhole,Sun
--2
--manager
--Blackwhole

谢谢..

1 个答案:

答案 0 :(得分:1)

您可以使用GROUP_CONCAT

SELECT users.id, users.name, GROUP_CONCAT(images.name SEPARATOR ',') AS images
FROM users
LEFT JOIN images_data ON users.id = images_data.users_id
LEFT JOIN images ON images_data.images_id = images.id
GROUP BY users.id