2011-05-17 36 views
0

我需要编写一个该场景的查询,但我迷失了它。带有父参数的SQL嵌套查询

假设有两个表项和出价。该项目被通过某种过滤

SELECT i.* FROM Items i WHERE i.Id = 2 

的选择现在有一“项目Id”列项链接到一个投标投标表。现在我希望所有项目的数据与HighestBid,LowestBid和TotalBids,我试着这个,但它不工作。

SELECT i.*, hal.* 
FROM Items i, (SELECT MAX(b.OfferAmount), MIN(b.OfferAmount), COUNT(b.*) FROM Bids b WHERE b.ItemId = i.Id) As hal 
WHERE i.Id = 2 

这是否有问题?

回答

2

试试这个

SELECT i.*, 
     hal.* 
FROM items i 
     INNER JOIN (SELECT MAX(b.offeramount), 
          MIN(b.offeramount), 
          b.itemid, 
          COUNT(b.*) 
        FROM bids b 
        GROUP BY itemid) AS hal 
     ON i.Id= hal.itemid 
WHERE i.id = 2