一意のテーブルに、同じ参照情報 ( ) を持つ複数の行がありますID
。同じ についてday
、顧客が持っていdrink
て、Appreciation
は 1 (はい) または 0 (いいえ) です。
Table
ID DAY Drink Appreciation
1 1 Coffee 1
1 1 Tea 0
1 1 Soda 1
2 1 Coffee 1
2 1 Tea 1
3 1 Coffee 0
3 1 Tea 0
3 1 Iced Tea 1
私は最初に、特定の飲み物を誰が高く評価したかを確認しようとしましたが、これは明らかに非常に単純です
Select ID, max(appreciation)
from table
where (day=1 and drink='coffee' and appreciation=1)
or (day=1 and drink='tea' and appreciation=1)
飲み物にも興味がないので、以前max
は重複を削除して、評価の高いレーンだけを残していました。
しかし、私が今やりたいことは、実際に誰が飲んだすべての飲み物を高く評価しているかを確認することです. 繰り返しますが、最終的にはすべてのレーンに関心があるわけではなく、ID と感謝だけに関心があります。where
すべてのIDでそれを行うように変更するにはどうすればよいですか? 条件に ID を追加することもオプションではありません。に切り替えor
てみましand
たが、値が返されません。どうすればこれを行うことができますか?