从TWO sql表中选择,房间和图像用第一个表显示所有查询第二个表号

时间:2018-06-12 20:34:41

标签: mysql join select

我有2张桌子,房间和图像,我想要显示我所拥有的特定酒店的所有房间的行,并且还显示房间的每个图像,但问题是当我使用JOIN SELECT时显示我来自第二张桌子的所有查询中的8行,这意味着向我展示了3次(这个房间有3张图片)单人间和5倍双人间(我有5张这个房间的图片)所以向我显示8行我想每个房间只有2行每张图片 - 3和5

table 1 - rooms
id, id_hotel, type_room
1, 1, single
2, 2, double

table 2 - images
id, id_rooms, url
1, 1, image-A.jpg
2, 1, image-b.jpg
3, 1, image C.jpg
4, 2, image D.jpg
5, 2, IMAGE E.jpg
6, 2, IMAGE f.jpg
7, 2, IMAGE g.jpg
8, 2, IMAGE h.jpg

我怎么办?我也试过RIGHT JOIN和LEFT JOIN ......其他解决方案?

1 个答案:

答案 0 :(得分:0)

你想要这样的东西吗?

<强> SQL DEMO

SELECT `id_rooms`, GROUP_CONCAT( CONCAT('<img src="',`url`,'>') SEPARATOR '') as i
FROM images
GROUP BY `id_rooms`;

输出

enter image description here