SQL-2つのテーブルを同じ列で結合して水平にスタックする方法

パーソナルゴージアン

たとえば、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

通常、私はそれを達成するために長い一歩を踏み出している

  1. 'ACCOUNT'列を結合します
  2. デザインを変更し、新しい列を追加します
  3. 重複することなく結合された「ACCOUNT」列に基づいてテーブルを結合します

サブクエリを使用してプロセスを固定するような回避策はありますか?ありがとうございました

DineshDB

このようにすると、次の結果が得られます。

    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]

編集
0

コメントを追加

0

関連記事

分類Dev

SQL Server:同じテーブルの2つの列間でクロス結合する方法は?(各列には区切り値が含まれています)

分類Dev

同じテーブルの2つの列を結合し、SQLで新しい列をフォーマットする方法

分類Dev

SQLクエリで同じテーブルの列を結合して1つとして表示するにはどうすればよいですか?

分類Dev

同じテーブルから、異なるフィルターを使用して、2つのSelect sum SQLクエリを結合できますか?

分類Dev

SQLで同じスキーマの2つのテーブルを結合して列の合計と最大値を見つける

分類Dev

同じテーブルとフィルターの2つのSQL選択クエリを結合します

分類Dev

同じテーブルの異なる列で異なるwhere句を使用してSQLステートメントを結合する方法

分類Dev

SQL Serverの同じテーブルを使用して、2つの異なる行を1つのテーブルに結合します

分類Dev

2番目のテーブルの同じ列の行からデータを分離した場合に2つのテーブルを結合するSQLクエリ

分類Dev

SQL同じ列を持つテーブルを結合し、結合のような統計を使用するにはどうすればよいですか?

分類Dev

SQL Server-等しいかどうかをチェックせずに、同じ列のデータについて2つのテーブルを比較します

分類Dev

3つのテーブルを結合してSQLのデータをチェックする方法は?

分類Dev

SQL noob、2つのテーブルを結合してデータをnew_tableに格納する方法は?

分類Dev

SQLサーバーで結合を使用して2つのテーブルに挿入する方法は?

分類Dev

同じテーブルのSQL結合で値の合計を使用する方法

分類Dev

SQLで2つのテーブルをマージし、同じIDの値を合計する方法は?

分類Dev

異なる条件で同じテーブルの2つの列の値を分割する方法をSQLクエリ

分類Dev

同じテーブルの2つのSQLステートメントを結合します

分類Dev

2つのテーブルを結合して別の列を追加するSQL

分類Dev

条件-IDの配列である2つのテーブルを結合するActiveRecordクエリインターフェイスを介してSQLリクエストを作成する方法

分類Dev

IDを取得するために必要な同じテーブルを含む2つのSQLクエリを結合します

分類Dev

Python または SQL で結合またはその他の操作を使用して 2 つのデータセット/テーブルをマージする方法

分類Dev

SQLでIDが同じ場合に2つのテーブルから値を取得する方法

分類Dev

同じテーブルからの2つのSQLクエリの結果を合計する

分類Dev

2つのテーブルの列を1つにマージして結合するT-SQL

分類Dev

Oracle SQL:同じテーブルを結合して目的の出力を取得する

分類Dev

SQL同じテーブルで複数の結合を使用する方法

分類Dev

同じSQLステートメントを持つ2つのテーブルの2つのフィールドの合計を個別に取得する方法

分類Dev

SQL Server、同じ列を持つ複数のテーブルに結合します

Related 関連記事

  1. 1

    SQL Server:同じテーブルの2つの列間でクロス結合する方法は?(各列には区切り値が含まれています)

  2. 2

    同じテーブルの2つの列を結合し、SQLで新しい列をフォーマットする方法

  3. 3

    SQLクエリで同じテーブルの列を結合して1つとして表示するにはどうすればよいですか?

  4. 4

    同じテーブルから、異なるフィルターを使用して、2つのSelect sum SQLクエリを結合できますか?

  5. 5

    SQLで同じスキーマの2つのテーブルを結合して列の合計と最大値を見つける

  6. 6

    同じテーブルとフィルターの2つのSQL選択クエリを結合します

  7. 7

    同じテーブルの異なる列で異なるwhere句を使用してSQLステートメントを結合する方法

  8. 8

    SQL Serverの同じテーブルを使用して、2つの異なる行を1つのテーブルに結合します

  9. 9

    2番目のテーブルの同じ列の行からデータを分離した場合に2つのテーブルを結合するSQLクエリ

  10. 10

    SQL同じ列を持つテーブルを結合し、結合のような統計を使用するにはどうすればよいですか?

  11. 11

    SQL Server-等しいかどうかをチェックせずに、同じ列のデータについて2つのテーブルを比較します

  12. 12

    3つのテーブルを結合してSQLのデータをチェックする方法は?

  13. 13

    SQL noob、2つのテーブルを結合してデータをnew_tableに格納する方法は?

  14. 14

    SQLサーバーで結合を使用して2つのテーブルに挿入する方法は?

  15. 15

    同じテーブルのSQL結合で値の合計を使用する方法

  16. 16

    SQLで2つのテーブルをマージし、同じIDの値を合計する方法は?

  17. 17

    異なる条件で同じテーブルの2つの列の値を分割する方法をSQLクエリ

  18. 18

    同じテーブルの2つのSQLステートメントを結合します

  19. 19

    2つのテーブルを結合して別の列を追加するSQL

  20. 20

    条件-IDの配列である2つのテーブルを結合するActiveRecordクエリインターフェイスを介してSQLリクエストを作成する方法

  21. 21

    IDを取得するために必要な同じテーブルを含む2つのSQLクエリを結合します

  22. 22

    Python または SQL で結合またはその他の操作を使用して 2 つのデータセット/テーブルをマージする方法

  23. 23

    SQLでIDが同じ場合に2つのテーブルから値を取得する方法

  24. 24

    同じテーブルからの2つのSQLクエリの結果を合計する

  25. 25

    2つのテーブルの列を1つにマージして結合するT-SQL

  26. 26

    Oracle SQL:同じテーブルを結合して目的の出力を取得する

  27. 27

    SQL同じテーブルで複数の結合を使用する方法

  28. 28

    同じSQLステートメントを持つ2つのテーブルの2つのフィールドの合計を個別に取得する方法

  29. 29

    SQL Server、同じ列を持つ複数のテーブルに結合します

ホットタグ

アーカイブ