-2

私は2つのテーブルを持っています:

出席

  • 出席_id_pk
  • 学生証
  • is_excused

チェック中

  • check_id_pk
  • 学生証
  • 親の同意

出席テーブルのすべてのデータをチェック テーブル IF に結合したい:

is_excused = true および parent_consent = false で、student_id を使用します。出席テーブルにデータが含まれていない可能性があります。postgresqlでこれを行う方法は?

4

3 に答える 3

1

checkingあなたが探しているのは、テーブルに一致するレコードがなくても、テーブルからのレコードが表示される結果セットだと思いattendanceます。その場合は、OUTER 結合を使用する必要があります。

SELECT * FROM attendance RIGHT OUTER JOIN checking 
               ON (attendance.student_id = checking.student_id)
WHERE is_excused AND NOT parent_consent
于 2013-10-24T11:18:10.680 に答える
0
 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" 
于 2013-10-24T11:18:55.780 に答える