通过酒店房间价格查询酒店和房间,SQL如何写


请输入图片描述
我选择150-300的房价,然后出来这样的形式
酒店表是hotel,房间表是rooms,有个price的价格字段,查询条件就是这个price

说下思路看看,我知道繁琐的,先查询房间表,然后通过group by来显示酒店,
select * from rooms where price >150 and price<300 GROUP BY hotelid

然后查找他下面符合条件的房间。

有没有更简便的?

==========================================================
@小飞,你搞错了,这是个列表页面

mssql mysql

屌人周大木 12 years, 10 months ago

这种sql应该分成两条查询,根据你的截图,这个页面应该是酒店的详情页。
酒店的信息应该单独的查询:

   
  select * from hotel where hotel_id = ***
 

然后查出房间的信息,根据房型分组查询,统计出你房间:

   
  select room_type,count(*) as num,price from rooms where hotel_id = *** and price between 150 and 300 group by room_type
 

不知道你数据库表是怎么设计的,房型的一些信息应该也在一张单独的表中

工口小蘑菇 answered 12 years, 10 months ago

Your Answer