-2

ここで単純なものが欠けているような気がします...

テーブル A(名前、値)

ABC  123
DEF  456
XYZ  789
NON  111

テーブルB(名前1、名前2、色)

ABC  NULL  Red
NULL DEF   Blue

SQL クエリ

select * 
from TableA A
left join TableB B on A.name = B.name1 or A.name = B.name2

これを行うと、返されるだけです

A.name、a.value、b.color

ABC 123 Red
DEF 456 Blue

私はそれを返す必要があります

A.name、a.value、b.color

ABC 123 Red
DEF 456 Blue
XYZ 789 NULL
NON 111 NULL

左の表の行を除外しています。

4

3 に答える 3

0

テーブル A のすべてのエントリをテーブル B の一致するエントリと結合する必要があると仮定すると、次のようなクエリが必要になります。

SELECT 
     A.Name, 
     A.Value, 
     B.Color 
 FROM 
     TableA A 
     LEFT OUTER JOIN TableB B 
         ON (A.Name B.Name1 OR A.Name = B.Name2)
于 2013-09-13T15:42:37.987 に答える