现在的表结构是这样的:
酒店表:t_hotel
id         序列
name       酒店名
city       城市
area       区
star       星级
房间表:t_room
id         序列
hotelid    对应t_hotel的id
name       房间名称
price      价格
bunk       床位现在搜索房间按照t_room分页的
1,[酒店名][房间名][价格]
2,[酒店名][房间名][价格]
3,[酒店名][房间名][价格]
这样同一个酒店里的房间满足检索条件的可能有多条记录,那[酒店名]就重复了要怎么搜索房间才能按照酒店数量分页,而不是按照房间数量分页,象这样的效果
1,[酒店名]
   [房间名][价格]
2,[酒店名]
   [房间名][价格]
   [房间名][价格]
3,酒店名
   [房间名][价格]

解决方案 »

  1.   

    select h.name,r.name,r.price from t_hotel h join t_room r 
    on h.id=r.hotelid order by h.name至于你要的什么格式,用别的程序做。
      

  2.   

    create table t_hotel(id1 varchar(4),name1 varchar(20),city varchar(20),area varchar(10),star int)
    insert into t_hotel
    select 'A001','奥林匹克大酒店','温州','华东区',5
    union select 'B001','金都大酒店','长沙','华南区',4
    union select 'A002','国贸大酒店','长沙','华南区',5
    union select 'C001','金茂皇冠大酒店','温州','华东区',3
    union select 'B002','国宾馆','长春','东北区',4
    gocreate table t_room(id1 varchar(4),hotelid varchar(4),name1 varchar(20),price varchar(10),bunk varchar(4))
    insert into t_room
    select '0001','A001','808','1500','1-1'
    union select '0002','B001','408','800','4-2'
    union select '0003','A002','608','1200','6-3'
    union select '0004','C001','108','250','2-4'
    union select '0005','B002','308','650','3-1'
    union select '0006','A001','708','1400','8-8'
    union select '0007','C001','202','150','1-2'
    union select '0008','B002','303','560','2-2'
    go
    select distinct t_hotel.name1,t_room.name1,price from t_hotel,t_room 
    where t_hotel.id1=t_room.hotelid 
    group by t_hotel.name1
    order by t_hotel.name1,t_room.price
      

  3.   

    use sql_test
    go
    create table t_hotel(id1 varchar(4),name1 varchar(20),city varchar(20),area varchar(10),star int)
    insert into t_hotel
    select 'A001','奥林匹克大酒店','温州','华东区',5
    union select 'B001','金都大酒店','长沙','华南区',4
    union select 'A002','国贸大酒店','长沙','华南区',5
    union select 'C001','金茂皇冠大酒店','温州','华东区',3
    union select 'B002','国宾馆','长春','东北区',4
    gocreate table t_room(id1 varchar(4),hotelid varchar(4),name1 varchar(20),price varchar(10),bunk varchar(4))
    insert into t_room
    select '0001','A001','808','1500','1-1'
    union select '0002','B001','408','800','4-2'
    union select '0003','A002','608','1200','6-3'
    union select '0004','C001','108','250','2-4'
    union select '0005','B002','308','650','3-1'
    union select '0006','A001','708','1400','8-8'
    union select '0007','C001','202','150','1-2'
    union select '0008','B002','303','560','2-2'
    go
    select distinct t_hotel.name1,t_room.name1,price 
    from t_hotel,t_room 
    where t_hotel.id1=t_room.hotelid 
    group by t_hotel.name1,t_room.name1,price
    order by t_hotel.name1,t_room.price
    我改正了一下他的错误
      

  4.   

    1,[酒店名][房间名][价格]
    2,[酒店名][房间名][价格]
    3,[酒店名][房间名][价格]
    就这个结果我觉得就很不错
    下面这个结果有什么好啊?
    1,[酒店名]
    [房间名][价格]
    2,[酒店名]
    [房间名][价格]
    [房间名][价格]
    3,酒店名
    [房间名][价格]
    构造SQL就算构造出来,效果肯定也是糟糕,