2013-04-15 62 views
-1

我有两个不同的查询工作正常,但我想要的是将第二个查询合并到第一个查询中,同时这样做会出错因为子查询不能返回多个值。将一个查询合并为一个子查询并从中检索多行

我的第一个查询是:

select distinct hm.hotel_name 
from hotel_master hm , customer_bidding cb, bid b, hotel_admin ha 
where cb.bid_id=b.bid_id 
    and b.ha_id=ha.ha_id 
    and ha.hotel_id=hm.hotel_id 

和我,我想第一个合并的第二个查询:

select distinct bid_id ,COUNT(bid_id) as bids from customer_bidding Group by bid_id order by bids desc 

我会感谢任何形式的帮助提供。查询

结果:

enter image description here

+1

你可以给你想要的结果样品记录? –

+0

你想要的结果是什么? btw我2美分..一个子查询可以只有一个列在SELECT子句中,除非多个列在子查询的主查询中比较其选定的列。返回多行的子查询只能与多个值运算符一起使用,例如IN运算符。 –

回答

0

只是为了安全起见,因为我不知道你如何记录模样,

select distinct hm.hotel_name, cb.bids 
from hotel_master hm, bid b, hotel_admin ha, 
     (
      SELECT bid_id, 
        COUNT(bid_id) as bids 
      from customer_bidding 
      Group by bid_id 
     ) cb 
where cb.bid_id = b.bid_id and  
     b.ha_id = ha.ha_id and 
     ha.hotel_id = hm.hotel_id