Staff
テーブル
ID Name Gender
1 John Male
2 Adam Male
3 Joella Female
Food
テーブル
ID StaffID Name
1 1 Eggs
2 1 Bacon
3 1 Toast
4 2 Eggs
5 2 Bacon
6 3 Toast
卵とトーストの両方を食べた男性スタッフの名前が必要です.
答えは John のはずですが、AND 句を使用するたびに、同じ「行フィールド」を見ているため、結果はゼロになります。OR を使用すると、誤った結果が返されます。
左結合、標準結合、その他いくつか試してみました。
SELECT field from table left join table2 on table.field=table2.field
where field ='eggs' && field = 'toast' && gender = 'male'
これの秘訣は、これを単一のクエリで実行しようとしていることです。