0

一致を含む2つのテーブルからすべての行を返すにはどうすればよいですか?たとえば、アカウントIDフィールドが共通のアカウントテーブルと注文テーブルがある場合、両方のテーブルから一致するものと一致しないものを返します。

SQLServer2005を使用しています

ありがとう。

4

2 に答える 2

2

私はあなたが必要だと思いますFULL OUTER JOIN

SELECT *
FROM Table1 T1
  FULL OUTER JOIN Table2 T2 ON T1.AccountId = T2.AccountId

幸運を。

于 2013-01-30T15:04:23.347 に答える
0

MATCHED and UNMATCHED両方のテーブルから両方のレコードを取得する場合は、FULL JOIN(またはFULL OUTER JOIN)を使用します。また、以下のようにを使用して、一致または不一致のレコードを見つけることができますCASESQL-フィドルデモ

select isnull(a.accountId,o.accountId) accId, AccName,ProName,
       case when AccName+ProName is null then 'No'
            else 'Yes' end as IsMatched
from Accs a FULL JOIN Orders o on a.accountId = o.accountId
order by IsMatched 

--Example results
AccId   AccName ProName IsMatched
1       X       (null)  No
10      (null)  Apple   No
2       Y       Orange  Yes
3       Z       Mango   Yes
于 2013-01-30T15:34:08.247 に答える