select b.* from B inner jion A a on a.[关联B的字段]=b.[关联A的字段] select b.[图片] from Bb where [时间] in(select max(时间) from B )
select A.产品,BB.图片名称,BB.上传时间 from A left join b BB on A.产品id=BB.产品id where 上传时间=(select max(上传时间) from b where 产品id=bb.产品id)
select A.产品,BB.图片名称,BB.上传时间 from A left join b BB on A.产品id=BB.产品id where 上传时间=(select max(上传时间) from b where 产品id=bb.产品id)
从性能速度方面考虑也可以这样写: SELECT A.*,B.图片 FROM 表A AS A INNER JOIN (SELECT C1.* FROM 表B AS C1 WHERE NOT EXISTS(SELECT 1 FROM 表B AS C2 WHERE C1.产品=C2.产品 AND C2.上传日期>C1.上传日期)) AS B ON B.产品=A.产品
根据“如果产品没有上传图片呢,还是要产品显示出来的” 可以改用LEFT OUTER JOIN try: SELECT A.*,B.图片 FROM 表A AS A LEFT OUTER JOIN (SELECT C1.* FROM 表B AS C1 WHERE NOT EXISTS(SELECT 1 FROM 表B AS C2 WHERE C1.产品=C2.产品 AND C2.上传日期>C1.上传日期)) AS B ON B.产品=A.产品
select b.[图片] from Bb where [时间] in(select max(时间) from B )
on A.产品id=BB.产品id
where 上传时间=(select max(上传时间) from b where 产品id=bb.产品id)
on A.产品id=BB.产品id
where 上传时间=(select max(上传时间) from b where 产品id=bb.产品id)
SELECT A.*,B.图片
FROM 表A AS A
INNER JOIN
(SELECT C1.* FROM 表B AS C1 WHERE NOT EXISTS(SELECT 1 FROM 表B AS C2 WHERE C1.产品=C2.产品 AND C2.上传日期>C1.上传日期)) AS B
ON B.产品=A.产品
可以改用LEFT OUTER JOIN
try:
SELECT A.*,B.图片
FROM 表A AS A
LEFT OUTER JOIN
(SELECT C1.* FROM 表B AS C1 WHERE NOT EXISTS(SELECT 1 FROM 表B AS C2 WHERE C1.产品=C2.产品 AND C2.上传日期>C1.上传日期)) AS B
ON B.产品=A.产品