SELECT ai.auction_item_id, ai.starting_bid, b.bid_amount, i.*
FROM
auction_item as ai, //Table contains auction specific details about the item
item as i //Table contains general details about the item
INNER JOIN (
SELECT auction_item_id, bid_amount
FROM bid xb //Table contains bids on item
ORDER BY amount DESC
LIMIT 1) b
ON b.auction_item_id = ai.auction_item_id
WHERE
ai.auction_id = 4 AND
i.id = ai.listings_id
ORDER BY RAND()
LIMIT 4
當前使用上述查詢,我可以從當前活動拍賣(拍賣#4)中獲得4個隨機項目。但他們目前都以相同的最高出價金額(來自內部聯合)回來。每個項目應該有自己的最高出價金額(來自內部加入) - 除非該項目沒有出價,那麼它應該是0(或某物)簡單的SQL內部聯接查詢 - 無法正常工作
我在做什麼錯在這裏? 由於我希望外部部分中的每件商品的最高出價,因此投標表對於放置的每個出價都有一行,因此LIMIT 1和內部聯合中的desc順序排列。 (如果出價是)。
謝謝
目前,只有10個項目的1具有投標 - 所以我認爲,任何項目沒有投標只是越來越即1項與出價最高的出價。所以如果在內部聯接中沒有出價,它需要返回0。我認爲這可能是解決方案,也許 – Martin 2015-04-02 04:46:44
劃痕,即使另一個項目有出價 - 它只是拉出現有的最高出價,並使用所有項目(甚至有出價的項目):( – Martin 2015-04-02 04:50:27
你的內部連接表沒有提及所以它只是爲所有(外部)項目獲得相同的max bid_amount。目前正在測試一個可能的解決方案 – Hockenberry 2015-04-02 05:07:38