我需要写一个场景的查询,但我写错了。
假设有两个表项和出价。通过某种过滤器
选择项目SELECT i.* FROM Items i WHERE i.Id = 2
现在有一个Bids表,其中包含“ItemId”列,用于将项目链接到出价。现在我希望所有项目的数据都包含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
这有什么问题吗?
答案 0 :(得分:3)
试试这个
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