我有2张桌子。 amenities_posts包含所有可用的设施和property_amenities仅包含物业设施。 我想运行一个连接查询,如果在properties_amenities中找不到行,则返回来自amenities_posts的所有行,并返回NULL。
当前查询:
SELECT properties_amenities.*, amenities_posts.type, amenities_posts.grouped, amenities_posts.title, properties_amenities.property_id
FROM properties_amenities
LEFT JOIN amenities_posts ON properties_amenities.amenity_id = amenities_posts.id
WHERE properties_amenities.property_id=318 OR properties_amenities.property_id IS NULL
ORDER BY amenities_posts.grouped DESC, amenities_posts.sortby ASC;
此查询仅返回properties_amenities
的行,而不是所有带空值的设施行。
答案 0 :(得分:0)
如果您想显示来自amenities_posts的所有行,则需要转到LEFT JOIN的 left 侧。
...
FROM amenities_posts
LEFT JOIN properties_amenities ...
左连接选择左侧的所有行,只选择右侧的匹配行。