2016-06-23 2 views
-2
SELECT DISTINCT manf FROM beers WHERE (SELECT price FROM sells WHERE price > 6); 

質問は次のとおりです。ビールがどこからでも$ 6以上で売れているメーカーを探すためにサブクエリでクエリを書いてください。 ここに合計noobがあります。オラクルの式エラーが表示されない

+0

どのようにビールと売りはお互いに話しますか?売り場にマンフ欄がありますか?どのメーカーに売るのを知らせる参加が必要ですか? WHERE(SELECT Price FROMはどこの価格> 6、manf.beers = manf.sells) –

+0

あなたはその質問が次のように言っています:*クエリを書く... *。それは問題ではありません。たぶん、あなたの質問は、オラクルが*表現が間違っていると不平を言っているのでしょうか?今はそれが問題です。 – sstan

+0

あなたのテーブルがどのようなものか分からずに、答えを出すことは非常に困難です。また、あなたの "質問"は質問を定式化しません( "?"で終わる)。また、 "どこにでも"精緻化してください。それはどういう意味ですか? **あなたの質問を編集**して改善してください! –

答えて

-1

テーブルに参加する必要があります。私は、sellsテーブルにはbeersテーブルへのリンクに使用できるbeer_idがあると仮定します。

SELECT DISTINCT 
    beers.manf 
FROM 
    sells 
    INNER JOIN beers 
     ON sells.beer_name = beers.beer_name 
WHERE 
    sells.price > 6 
ORDER BY beers.manf; 

これ以上$ 6原価計算の少なくとも1つを有するすべてのメーカーを返します。


場合は、しかし、メーカーのすべてのビールは、あなたのテーブルの構造を知らなくても、しかしこの

SELECT DISTINCT 
    beers.manf 
FROM 
    sells 
    INNER JOIN beers 
     ON sells.beer_name = beers.beer_name 
WHERE 
    sells.price > 6 AND 
    beers.manf NOT IN (SELECT b.manf 
         FROM sells s INNER JOIN beers b ON s.beer_name = b.beer_name 
         WHERE s.price <= 6) 
ORDER BY beers.manf; 

を行う以上$ 6費用必要があり、あなたを与えることは困難です正確な答え。

+0

あなたの迅速な対応に感謝します。ビールIDはありません。ビールテーブルには名前と製造者だけが含まれています –

+0

2つのテーブル '売る 'と'ビール'には共通の列が必要です。それ以外の場合は、それらの間にリレーションを作成することはできません! 2つのテーブルの列を表示してください。それとも3番目のテーブルが関わっていますか?我々はそうでなければ暗闇の中でタップしている。 –

+0

彼らは共通のビール名の列を持っています –

関連する問題