私は2つのテーブル、ボートや予約を持っており、これは彼らのスキーマです:クエリではなくカウントを使用するにはどうすればよいですか?
boat: bname (string), color (string), rating (integer)
reservation: sname (string), bname (string), day (string)
私はONLY赤いボートを予約していないと何もされている日を見つけようとしています。 NOT EXISTSを使用してクエリを作成しましたが、COUNTを使用してそれを書き込む方法を理解することはできません。これはsqlite3を使用しています
これは宿題です。私は答えを探しているのではなく、これにアプローチする方法についてアドバイスを探しています。私はそれを狭くすることができ、赤いボートと他の色のボートが混在している時だけを得ることができましたが、そこからどのように接近するのかはわかりません。
たとえば、月曜日、火曜日、水曜日に予約された赤いボートがあるが、火曜日に緑色のボートが予約されている場合、クエリは火曜日に返されますが、NOT INまたはNOT EXISTSを使用できないため、そこからどのように進むべきかわかりません。ここで問題になっているクエリは次のとおりです。
SELECT distinct R.day from reservation R, boat b
WHERE r.bname = b.bname and b.color = 'red' AND
(SELECT count(*) from reservation R2, boat B
WHERE R2.bname = B.bname and COLOR != 'red' AND R.day = R2.day group by R2.day);
任意の助けが理解されるであろう、これは直接あなたの質問に答えていませんが、私はこのような質問に答えるでしょう、あなたに
カウントがゼロであることを意味し、「存在しません」。 –