1

我有一些代码(继承),它从表“成员”中选择一行,以及从表“图像”中的一行中选择一些细节:

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 = ''

但这返回了乱码的结果。

谢谢,

G

4

1 回答 1

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 返回左表(成员)中的所有行,无论它们是否与右表(图像)中的行匹配。

于 2012-05-28T14:04:43.627 回答