2

共通のセルで接続された両方の結果をすべて取得したいテーブルが必要です。問題は、2 番目のテーブルに最初のテーブルのレコードの一部しかないことです。

Table 1 forms
form_id, description, image,dept

Table 2 records
record_id, form_id, comments, added_date, done_date

次のようなクエリを実行する場合:

SELECT * FROM form
JOIN records ON record.form_id = form.form_id

そのフォームのレコードがないため、すべてのフォームを取得できません。このようなことをする場所はありますか?レコード テーブルのフォームごとに空白のレコードを作成しましたが、それもわかりませんでした。

4

3 に答える 3

2

これは、LEFT OUTER JOIN に最適なアプリケーションです。
例:

SELECT f.*, r.*
FROM   form f
       LEFT JOIN records r
       ON r.form_id = f.form_id
ORDER BY f.description, r.added_date;
于 2012-05-29T20:55:26.303 に答える
0

これらの場合には左結合を使用します

SELECT * FROM form
LEFT JOIN records ON record.form_id = form.form_id
于 2012-05-29T20:56:39.260 に答える
0

必要なものを確認してください -- LEFT OUTER JOIN: 左側に記載されているテーブルのすべてのレコードと、右側のテーブルの一致するレコードが含まれます。一致しないレコードは null になります

元 :

SELECT * 
FROM forms
LEFT JOIN records ON  forms.form_id = record.form_id

FULL OUTER JOIN: 両方のテーブルのすべてのデータが含まれ、一致しないものは null になります

元 :

SELECT * 
FROM forms
FULL OUTER JOIN records ON  forms.form_id = record.form_id
于 2012-05-29T21:16:28.880 に答える