T-SQLに暗黙的に1つ以上のテーブルを結合する方法はありますか?私はSASのバックグラウンドから来ています。異なる数のカラムと名前を持つ複数のテーブルをスタックしたいのであれば、SASはcol xがテーブルyにないことを知るのに十分にスマートでした。 SAS書類(例1を参照)から、例えばT-Sql 1つ以上のテーブルを暗黙的に結合しますか?
、これら2つのテーブルを結合する SAS Example
OBS Common Animal Number OBS Common Plant Number
1 a Ant 5 1 g Grape 69
2 b Bird 2 h Hazelnut 55
3 c Cat 17 3 i Indigo .
4 d Dog 9 4 j Jicama 14
5 e Eagle 5 k Kale 5
6 f Frog 76 6 l Lentil 77
は同じくらい簡単です:T-SQLで
data concatenation;
set animal plant;
run;
私が持っているすべてこれまでSELECTステートメントのすべての値を明示的にリストしてnullにすることができました。
ので、同様に、例えば、(A):植物や動物のテーブルが同じカラム名を持っていた場合
select obs, common, animal, null as plant, number
from animal
union all
select obs, common, null as animan, plant, number
今では一例として、簡単だろう(B):
select * from plants
union all
select * from animals
今、私の質問は、SASの例ほど簡単なT-SQLとの不一致テーブルを結合する方法があるか、または例(a)のような不一致を明示的に定義する必要があるかどうかです。
それはそんなにカラム名ではありません - しかし、UNIONのためにあなたは、同じ数の列を持っている必要があり、列が最初のSELECTの対応するカラムと同じデータ型でなければなりません。 – scsimon
例題aであなたの答えがあることを確かめてください。私はsqlに相当するものはないと思います。 – Simon