首页 > 解决方案 > 从两个sql表中选择,第一个表的房间和图像显示所有查询第二个表没有

问题描述

我有 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 ...其他解决方案?

标签: mysqljoinselect

解决方案


你想要这样的东西吗?

SQL 演示

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

输出

在此处输入图像描述


推荐阅读