元々サブクエリであったこれらの2つのクエリは、私が結合で行いたいサブクエリでしたが、これを正しく行う方法がわかりません。2つのサブクエリではなく、1つの結合を使用する方法
私の小さな例のテーブルには、これらのフィールドは必須ですので、彼らはすべての参加することができ、この
SupplierId|CompanyName|Country
のように見えます。私の元副問合せは、私のクエリの最初の部分は、私のクエリの2番目の部分は相関すべてのサプライヤーを見つけた会社名に属し、Germay
を返す国を見つけることです。この
select *
from Suppliers
where CompanyName != 'Nord-Ost-Fisch Handelsgesellschaft mbH'and Country =
(Select country
from Suppliers
where CompanyName = 'Nord-Ost-Fisch Handelsgesellschaft mbH');
のように見えます上記のクエリにWhere Country = 'Germany'
はにハードコードされてはならない。
Select *
From Suppliers
Where Country = 'Germany' -- this based on above statement
and CompanyName != 'Nord-Ost-Fisch Handelsgesellschaft mbH'
私はちょうど私がこの2つのテーブルに参加した場合、どのように私はまだ国を得ることができる方法を確認するために失敗しています。この
Select *
From Suppliers s join Suppliers ss
on s.SupplierID = ss.SupplierID
Where ...
のようなルックスをしようとしていますクエリその結果に対して照会します。
あなたは、両方のテーブルのフィールドをリストすることができますか? – r0xette