4つのテーブルのフィールドを組み合わせて特定の関係を持つフィールドを示す回答を得ようとしています。ここでSQL:対応する一致するフィールドを持つすべてのフィールドの取得
は、関連するテーブル&フィールドです:
lowproducts
|productid|
highproducts
|productid|
orders
|productid|customerid|
inner join on productid
注文は、得意先とのProductIDフィールドの両方のために多くの重複があります。低生産品と高品目には異なるproductid項目しかありません。私は必要なもの
これを実行するコードです:すべてのorders.customeridについて
:得意先のためのすべての行がhighproductsかlowproductsのいずれかでのProductIDを持つ フィールドだけを選択し
サンプル・テーブル・データ
lowproducts
|productid|volume|price|
|1111|8|2.95
|2222|7|1.37
highproducts
|productid|weight|price|
|3333|25|9.99
|4444|22|8
orders
|productid|customerid|
|1111|abcd
|2222|abcd
|1111|efgh
|2222|efgh
|3333|efgh
|4444|efgh
inner join on productid
select customerid, productid
where (orders.productid = highproducts.productid) or (orders.productid = lowproducts.productid)
それは私にすべての試合を取得します。それは私にとっては難しいことではありません。しかし、私はどのようにして、特定の顧客IDのすべての注文を表すマッチを返すようにするためにそれをどのように修正するのですか(つまり、顧客IDの注文のいずれも2つのテーブルのいずれにもないproductidを持っていません)。
私が望む結果は、efghであり、abcdではありません。私は照会の中でabcdとefghの両方を取得する方法を知っていますが、efghだけではありません。
参加し、グループ化する。 – Tomm
サンプルテーブルのデータと予想される結果をフォーマットされたテキスト(イメージではなく)として追加し、現在のクエリの試行を表示します。 – jarlh
低品位品と高品位品の違いは何ですか?あなたはテーブルを1つしか持てませんか? – jarlh