我的表
产品
pid name
1 AA
2 bb
3 cc历史记录表
hid pid uid
1 1 1
2 1 2
3 1 1 // this one should join with pid 1
4 3 2 // this one should join with pid 3
5 2 3
6 2 1 // this one should join with pid 2我喜欢在product.The上显示最近的投标人历史表,商店投标人details.if没有出价的产品,只需要返回空即可。
谢谢
发布于 2011-06-23 12:54:18
这样怎么样?
SELECT *
FROM product p LEFT JOIN
(
SELECT ht.*
FROM History_table ht INNER JOIN
(
SELECT pid,
MAX(hid) last_hid
FROM History_table ht
GROUP BY pid
) lstItem ON ht.pid = lstItem.pid
AND ht.hid = lstItem.last_hid
) ht ON p.pid = ht.pid首先,您需要检索每个pid的最大hid,根据定义,它应该是最新的条目。
然后将其连接回相同的历史表,以检索uid。
最后,将这个(左连接)连接回实际的products表。
希望这能有所帮助。
https://stackoverflow.com/questions/6449419
复制相似问题