酒店表(hotel)
hId hName       hxingji  hdiqu(所属地区)
1   黄山国脉酒店  四星级    市区宾馆
2  黄山xxxx酒店  三星级    市区宾馆
3  黄山xx酒店    二星级    市区宾馆
4   黄山xxx酒店  五星级    市区宾馆
客房表(kefang)
kId  ktName  youhuijia(优惠价) hId(对应的酒店ID)
1     标准间   200               1 
2     豪华间   2000              1
1     三人间   400               1
3     标准间   250               3
4     标准间   200               4这两个表 我想查询:按照每个酒店所属地区查出酒店信息而且按照最低优惠价 如:黄山国脉酒店 四星级 200
黄山国脉大酒店中所对应的有“标准间”,“豪华间”,“三人间”三种客房 我要求查出最低优惠价的客房。

解决方案 »

  1.   

    select top 1 hotel.*,kefang.* from kefang left outer join hotel on kefang.hid=hotel.hid
    order by kefang.youhuijia 
      

  2.   


    select top 1 * from hotel A, kefang B where A.hid=B.hid order by youhuijia asc
      

  3.   


    SELECT A.HNAME, A.HXINGJI, A.HDIQU, MIN(B.YOUHUIJIA) AS PRICE
      FROM HOTEL A, KEFANG B
     WHERE A.HID = B.HID
       AND A.HDIQU = '市区宾馆'
     GROUP BY A.HNAME, A.HXINGJI, A.HDIQU
      

  4.   

    SELECT AA.HID, AA.HNAME, AA.HXINGJI, AA.DIQU, BB.KTNAME, AA.PRICE
      FROM (SELECT A.HID, A.HNAME, A.HXINGJI, A.HDIQU, MIN(B.YOUHUIJIA) AS PRICE
              FROM HOTEL A, KEFANG B
             WHERE A.HID = B.HID
               AND A.HDIQU = '市区宾馆'
             GROUP BY A.HNAME, A.HXINGJI, A.HDIQU) AA,
           KEFANG BB
     WHERE AA.HID = BB.HID
       AND AA.PRICE = BB.YOUHUIJIA