SQL查詢仍然是我最薄弱的一點,所以在這裏我還有另一個SQL問題。SELECT的一個小SQL查詢問題
想象一下,我有兩個表:拍賣和出價。表拍賣包含我的拍賣,表格出價包含每次拍賣的出價列表。
現在我選擇的值如下:
SELECT
`auction_title`,
`auction_seo_title`,
`auction_description_1`,
`auction_unixtime_expiration`,
`auction_startPrice`,
MAX(`bids`.`bid_price`) as `bid_price`
FROM
`auctions`
LEFT JOIN `bids` ON `auctions`.`auction_id`=`bids`.`bid_belongs_to_auction`
ORDER BY
`auction_unixtime_expiration`
ASC
LIMIT 5
查詢工作,但它有一個有點趕它:它僅選擇那些拍賣,其中有內部的至少一個對應的值出價表。這意味着如果我有一個沒有出價的新拍賣,查詢不會返回這個拍賣,但我也想要它!
我相信對於至少具有高於平均SQL技能的人來說,這是一個非常簡單的問題。我希望有這樣的人來:)前提前致謝!
這可能是由於'LIMIT'造成的問題...您是否嘗試了沒有'LIMIT',或者您應該嘗試'RIGHT JOIN' – diEcho 2011-03-21 04:35:39
您發佈的查詢是無效的,有一個'GROUP BY'子句缺失。 – 2011-03-21 04:35:42
由於您使用的是'LEFT JOIN',因此您必須獲得**全部**拍賣才能獲得與其相關的出價或填充空值。所以再仔細一次;-) – zerkms 2011-03-21 04:36:33