-1

私は2つのテーブルを持っています:テーブル:列A、B、C、DのAAテーブル:列E、FGのBB

次のように、これら2つのテーブルを組み合わせた出力を取得したいと思います。

A | B | C | D | E | F | G

私は現在次のことを行っています:

Select * from ( 

( select A, B, C ,D from AA where some condition)

UNION ALL

( select E , F , G , NULL from BB where some condition) )

しかし、テーブルBBからE、F、Gを追加せずに、AAテーブルからのA、B、C、Dのみを含む出力を提供しています。

私は何が間違っているのですか?

4

2 に答える 2

1

あなたの考えが正確に何であるかはわかりませんが、同じテーブル表示でAAとBBからのプレーンデータだけが必要な場合は、次のようなものを使用できます

 ( select A, B, C ,D, NULL as E, NULL as F, NULL as G from AA where some condition)

 UNION ALL

( select NULL as A , NULL as B, NULL as C, NULL as D, E , F , G  from BB where some condition) )

しかし、これのポイントはわかりません:|

データの組み合わせが必要な場合は、joinが必要です。

于 2013-01-23T23:40:53.490 に答える
0

次のような結果を探している場合:

A1  B1  C1  D1 
A2  B2  C2  D2 
A3  B3  C3  D3 
E1  F1  G1 
E2  F2  G2

次に、次のようなものを試してください

(select A Fld1, B Fld2, C Fld3, D Fld4 from AA where some condition)
union
(select E Fld2, F Fld2, G Fld3, Null from BB where some condition)

つまり、2つの選択間で同じフィールドに共通のエイリアスを指定します。そしてもちろん、フィールドは同じタイプでなければなりません。

于 2013-01-23T23:41:42.933 に答える