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