たとえば、2つのテーブルがあります。
1番目のテーブル:
November
Account | Name | Segment | Collectibility | Loan Amount | AFDA
1 Billy Corporate 1 5000 200
2 Randy Corporate 2 8000 1000
3 Stan Commercial 3 2000 200
2番目のテーブル
December
Account | Name | Segment | Collectibility | Loan Amount | AFDA
1 Billy Corporate 2 2000 100
2 Randy Corporate 3 4000 500
4 Kenny Small 1 2000 100
テーブルを結合しようとしているので、出力は次のようになります
Nov_Dec
Account | Name | Segment_Nov | Segment_Dec | Collectibility_Nov | Collectibility_Dec | Loan Amount_Nov | Loan Amount_Dec | AFDA_Nov | AFDA_DEC
1 Billy Corporate Corporate 1 2 5000 2000 200 100
2 Randy Corporate Corporate 2 3 8000 4000 1000 500
3 Stan Commercial NULL 3 NULL 2000 NULL 200 NULL
4 Kenny NULL Small NULL 1 NULL 2000 NULL 100
通常、私はそれを達成するために長い一歩を踏み出している
サブクエリを使用してプロセスを固定するような回避策はありますか?ありがとうございました
このようにすると、次の結果が得られます。
DECLARE @Table1 TABLE(Account INT,Name VARCHAR(10),Segment VARCHAR(10),Collectibility INT,LoanAmount INT,AFDA INT)
INSERT INTO @Table1 VALUES(1,'Billy','Corporate',1,5000,200)
INSERT INTO @Table1 VALUES(2,'Randy','Corporate',2,8000,1000)
INSERT INTO @Table1 VALUES(3,'Stan','Commercial',3,2000,200)
DECLARE @Table2 TABLE(Account INT,Name VARCHAR(10),Segment VARCHAR(10),Collectibility INT,LoanAmount INT,AFDA INT)
INSERT INTO @Table2 VALUES(1,'Billy','Corporate',2,2000,100)
INSERT INTO @Table2 VALUES(2,'Randy','Corporate',3,4000,500)
INSERT INTO @Table2 VALUES(4,'Kenny','Small',1,2000,100)
SELECT COALESCE(T1.Account,T2.Account)Account,COALESCE(T1.Name,T2.Name)Name
,MAX(T1.Segment)Segment_Nov,MAX(T2.Segment)Segment_Dec
,MAX(T1.Collectibility)Collectibility_Nov,MAX(T2.Collectibility)Collectibility_Dec
,MAX(T1.LoanAmount)LoanAmount_Nov,MAX(T2.LoanAmount)LoanAmount_Dec
,MAX(T1.AFDA)AFDA_Nov,MAX(T2.AFDA)AFDA_Dec
FROM @Table1 T1
FULL JOIN @Table2 T2 ON T1.Account=T2.Account
GROUP BY COALESCE(T1.Account,T2.Account),COALESCE(T1.Name,T2.Name)
ORDER BY COALESCE(T1.Account,T2.Account)
結果:
Account Name Segment_Nov Segment_Dec Collectibility_Nov Collectibility_Dec LoanAmount_Nov LoanAmount_Dec AFDA_Nov AFDA_Dec
----------- ---------- ----------- ----------- ------------------ ------------------ -------------- -------------- ----------- -----------
1 Billy Corporate Corporate 1 2 5000 2000 200 100
2 Randy Corporate Corporate 2 3 8000 4000 1000 500
3 Stan Commercial NULL 3 NULL 2000 NULL 200 NULL
4 Kenny NULL Small NULL 1 NULL 2000 NULL 100
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加