1

テーブル '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 = ''

しかし、これは文字化けした結果を返しました。

ありがとう、

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 に答える