2017-09-08 5 views
-1

古いANSI MS SQL結合構文を新しい結合構文に変換しようとしましたが、一致する結果の行数が一致しません。querydesigner-SQL構文オプションを試して、を不正に受信しました。外部結合演算子のエラーを使用しています。外部結合演算子エラーの無効な使用

Source sql 
select TableA.DATA1,TableB.DATA2 
from TableA, TableB 
where TableB.Sequence =* TableA.Sequence 
    and TableB.CSequence =* TableA.CSequence 

Iは、以下のSQLを試みたが、得られた行がカウントが

Select TableA.DATA1,TableB.DATA2 
from TableA 
LEFT OUTER JOIN TableB 
    ON TableA.SEQUENCE = TableB.SEQUENCE 
and TableA.CSequence = TableB.CSequence 
+0

フォーカスを。予想と実際の結果は何ですか? –

+2

= *は、左ジョインではなく、右ジョインの古い構文です。テーブルを反転して左の結合を維持するか、左の結合ではなく右の結合をここで使用します。 –

+2

両方のバージョンの正確な同じ計画がhttps://i.stack.imgur.com/5JGjJ.png –

答えて

1

に一致されていないOPからのクエリが同じものです。それはTableA left join TableB

のと同等だと、ここでのテストであるので、

*が保存される側を示し、それはにtableA側です:2番目のクエリで enter image description here

関連する問題