私は「Daniel Johnston」によってレビューされたすべてのレストランをリストアップするか、イタリア語と少なくとも1つの評価スコアの両方を少なくとも4つ以上持たなければならないという質問があります。EXISTSをSQLでORで使用できますか?
このクエリをしよう:
SELECT name
FROM RESTAURANT
WHERE EXISTS
(SELECT rest_id
FROM RESTAURANT, RATES
WHERE RESTAURANT.rest_id=RATES.rest_id AND RESTAURANT.type = 'Italian' AND RATES.score>=4)
OR rest_id IN
(SELECT rest_id
FROM REVIEWS, USER
WHERE USER.user_id=REVIEWS.user_id AND USER.fname = 'Daniel' AND USER.sname = 'Johnston');
が、それはエラーを返し続けます。私は別々の部品を別々に走らせています。彼らは大丈夫です。だから私はEXISTSとORを使うことができないのだろうかと思っています。できなければもっと良い方法は何でしょうか?
イタリア語で、少なくとも1つのレビュースコアが4以上あるので、レストランの名前を欲しいと思うので、EXISTSはそれに適していて、2つのEXISTSを使用しても違いはありませんなぜ私は2番目の部分の通常のネストされたクエリに戻ります。私はたくさんのことをぶち壊してしまったし、どこが間違っているのかわからないので、どんな助けでも大歓迎です!
エラーが発生していることを確認すると役立ちます。また、どのRDBMSを使用していますか? –
なぜrest_id IN(...)を2回だけ使用できないのですか? –