Group
、Person
およびの3 つのテーブル
がありWorkout
ます。Group
は への外部キーPerson
であり、Person
は への外部キーWorkout
です。特定のグループ内のすべての人のリストを選択したいのですが、その人の指定された日付の間にワークアウトがあった場合は、期間も取得し、そうでない場合は null にします。
SQLの書き方がよくわからないので、次のようなことに行き詰まっています。
SELECT Person.id, Person.firstName, Workout.duration
FROM Person LEFT OUTER JOIN Workout
ON Person.id = Workout.person_id
WHERE Workout.start_date BETWEEN %s AND %s
AND Person.group_id = %s
何か案は?