我正在使用MySql。
我有两个表,一个是包含名称和数据的列表,具有主键propertyId属性。
表2包含具有主键propertyImageId的图像。
每个propertyId可能有多个图像或者没有图像。
我需要获取属于agentId = 1的所有propertyId的列表,无论它是否具有图像。
'SELECT a.*, b.*
FROM property a LEFT OUTER JOIN property_images b
ON a.propertyId = b.propertyId
INNER JOIN
( SELECT propertyId, MAX(created) maxCreated
FROM property_images
GROUP BY propertyId) c
ON b.propertyId = c.propertyId ANd b.created = c.maxCreated
WHERE agentId = 1 ');
我正在尝试这里提供的类似解决方案:MySQL INNER JOIN select only one row from second table
然而,它仅在存在图像时返回propertyId。我该怎么做才能使其返回所有的propertyId,而不管property_images是否存在?
一直在努力解决这个问题,非常感谢任何帮助。谢谢!