5

テーブル A (税関連) をテーブル B (顧客関連) に結合する必要があります。

最大で 1 つのレコードをプルしますが、レコードがない場合もあります。

次に、結合されたレコードをユーザーに返す必要があります

私は単純なデカルト積を行うことはうまくいくでしょう

SELECT * FROM TableA, TableB

ただし、TableA または TableB が空の場合は機能しません

私は完全な外部結合を行いますが、今のところ結合するものはありません。ID 列を使用して一時テーブルを作成し、それらを結合することができます (1 = 1 であるため)

しかし、私は別の方法を探していましたか?

ありがとうございました

4

1 に答える 1

6

あなた自身の提案によると、 a を使用しfull outer joinて行を保証できます。

select  *
        TableA a
full outer join
        TableB b
on      1=1

TableAとが空の場合でも、常に少なくとも 1 つの行を返すにTableBは、偽のテーブルを使用できます。

select  *
from    (
        select  1 as col1
        ) fake
left join
        TableA a
on      1=1
left join
        TableB b
on      1=1
于 2012-11-26T20:11:37.863 に答える