私は2つのテーブルを持っています:
出席
- 出席_id_pk
- 学生証
- is_excused
チェック中
- check_id_pk
- 学生証
- 親の同意
出席テーブルのすべてのデータをチェック テーブル IF に結合したい:
is_excused = true および parent_consent = false で、student_id を使用します。出席テーブルにデータが含まれていない可能性があります。postgresqlでこれを行う方法は?
私は2つのテーブルを持っています:
出席テーブルのすべてのデータをチェック テーブル IF に結合したい:
is_excused = true および parent_consent = false で、student_id を使用します。出席テーブルにデータが含まれていない可能性があります。postgresqlでこれを行う方法は?
checking
あなたが探しているのは、テーブルに一致するレコードがなくても、テーブルからのレコードが表示される結果セットだと思いattendance
ます。その場合は、OUTER 結合を使用する必要があります。
SELECT * FROM attendance RIGHT OUTER JOIN checking
ON (attendance.student_id = checking.student_id)
WHERE is_excused AND NOT parent_consent
SELECT * FROM checking c
LEFT JOIN attendance a ON c.student_id = a.student_id AND a.is_excused = "true"
WHERE c.parent_consent = "false"