我有一些代码(继承)从表'members'中选择一行,并从表'image'中的一行中选择一些细节:
SELECT members.main,members.id,image.main,image.thumb,bio,
altered,members.title,author
FROM members,image WHERE members.main = image.id
除了那些字段'members.main'为空的情况外,这在所有情况下都能正常工作。有没有办法保持此代码的相同功能(即将成员与图像匹配),同时迎合'members.main'为空的情况?
我试过
WHERE members.main = image.id OR members.main = ''
但这会导致结果出现乱码。
谢谢,
答案 0 :(得分:3)
使用左外连接:
SELECT
members.main,
members.id,
image.main,
image.thumb,
bio,
altered,
members.title,
author
FROM members
LEFT JOIN image
ON members.main = image.id
LEFT JOIN返回左表(成员)中的所有行,无论它们是否与右表(图像)中的行匹配。