0

表 A、B、C

これら 3 つのテーブルを結合するクエリを作成するにはどうすればよいですか。条件はTable A、レコードがあることです。

私はこのようにしてみました

select * from a
left join b on a.article_id = b.article_id
left join c on b.file_id = c.submission_id
where c.user_id = 6;

Table Cレコードがない場合、クエリが機能しません。その場合、結合は 3 つのテーブルに対して機能しません。

4

2 に答える 2

2

外部テーブルの条件は、WHERE 句ではなく、関連する ON 句に含める必要があります。

例えば:

select * from a
left join b on a.article_id = b.article_id
left join c on b.file_id = c.submission_id and c.user_id = 6;
于 2012-04-18T14:46:21.137 に答える
1

を使用すると、 table に対応するレコードがなくても、およびLEFT JOINからのレコードが選択されます。代わりに使用してください:abcINNER JOIN

SELECT * FROM a
INNER JOIN b ON a.article_id = b.article_id
INNER JOIN c ON b.file_id = c.submission_id
WHERE c.user_id = 6;
于 2012-04-18T14:47:24.063 に答える