Php mysql选择房间类型问题

Php mysql选择房间类型问题,php,mysql,sql,mysqli,phpmyadmin,Php,Mysql,Sql,Mysqli,Phpmyadmin,我有两张表,如下所示,每个酒店都有房间类型,每个房间类型都有房间。因此,在每个酒店下,我想显示分配给他们的房间类型以及分配给该房间类型的所有房间 房间类型表 房间桌子 结果应该是这样的 Hotel id = 33 room types = a,c rooms = 1,2 我尝试了下面的加入它的工作,但不是我想要的 SELECT r.* FROM rooms r JOIN room_types rt ON rt.room_type_id = r.room_id WHERE r.hot

我有两张表,如下所示,每个酒店都有房间类型,每个房间类型都有房间。因此,在每个酒店下,我想显示分配给他们的房间类型以及分配给该房间类型的所有房间

房间类型表

房间桌子

结果应该是这样的

Hotel id = 33

room types = a,c
rooms      = 1,2
我尝试了下面的加入它的工作,但不是我想要的

SELECT r.* FROM rooms r JOIN room_types rt ON rt.room_type_id = r.room_id WHERE r.hotel_id  = '" . (int)$hotel_id . "'
*结果应该如何**

[


谢谢!

您加入的栏目不正确,请尝试:

SELECT r.*,rt.* FROM rooms r JOIN room_types rt ON rt.ID = r.ROOM_TYPE_ID AND r.hotel_id = rt.hotel_id WHERE r.hotel_id  = '" . (int)$hotel_id . "'

从rooms rta、roomsType rty中选择rty.name、rta.room\u id,其中rta.room\u TYPE\u id=rty.id和rta.room\u id=33

我认为,最好使用列表。
然后,您可以根据需要格式化结果集。

对不起,我手头没有sql server,因此您可能需要调试一下:

"SELECT COUNT(r.room_id) as rooms , rt.*
FROM rooms r 
INNER JOIN (
  SELECT * 
  FROM room_types 
  WHERE hotel_id  = 33
    AND name in ('a','c') ) 
AS rt 
ON rt.id = r.room_type_id 
WHERE r.room_id in ( 1, 2 )
GROUP BY rt.id"

您的示例结果不准确…?酒店ID有房间1,3,4而不是1,2为什么两个表中都有酒店ID?酒店有房间,房间类型…我认为您应该检查组concat@Salketer当前位置他的示例是正确的。1,2是各个房间类型下的房间总数。这并没有显示我想要什么。例如,假设我只有一个a类型的房间nd对于该房间类型,有两个房间..所以我只想显示房间类型,但在该房间内应该显示分配给该房间的房间..Thankscheck agoda.com..我想要这样的东西无法打开链接,我看不到打开该链接的理由。你想让我写完整的php代码吗?使用html和css?你没有php+PDO过期吗?你需要帮助开发的哪一部分?我尝试了你的sql,但它没有给出我想要的…我只想显示每个酒店的房间类型以及分配给每个房间类型的房间..请帮助我..谢谢使用我的查询得到了什么?它只重复了三次..那家酒店只有一个房间类型和两个房间类型..所以它应该ld只输出一次房间类型根据提供的数据,您在33号酒店有3个房间,其中两个房间类型1个房间类型id=1,2个房间类型id=3。这就是为什么查询返回3行,所以您只需要2行房间计数器?sop如果hote中有5个相同类型的房间,它必须只返回一行?
SELECT r.*,rt.* FROM rooms r JOIN room_types rt ON rt.ID = r.ROOM_TYPE_ID AND r.hotel_id = rt.hotel_id WHERE r.hotel_id  = '" . (int)$hotel_id . "'
"SELECT COUNT(r.room_id) as rooms , rt.*
FROM rooms r 
INNER JOIN (
  SELECT * 
  FROM room_types 
  WHERE hotel_id  = 33
    AND name in ('a','c') ) 
AS rt 
ON rt.id = r.room_type_id 
WHERE r.room_id in ( 1, 2 )
GROUP BY rt.id"