簡體   English   中英

SQL將具有不同列的多個表合並為一個

[英]SQL Merge multiple tables with different columns into one

我需要從5個表中創建一個主表,困難之處在於表中的同一列可能具有不同的名稱。 例如

為了簡單起見,我僅舉兩個表的示例

+----+----+
| 1  | 2  |
+----+----+
| PO | P  |
| VE | V  |
| TE | TE |
| LO | LO |
| IN |    |
| D  |    |
| X  |    |
| Y  |    |
|    | A  |
|    | B  |
|    | C  |
+----+----+

因此您可以看到,PO與表2中的對應值沒有相同的列名,但它們是相同的記錄。 我需要將這兩個表聚合到一個主表中。

我所做的是從具有最多重復列的表開始的,我正在嘗試將其他表合並到其中。 當只在一個表上找到一列時,我希望其他字段顯示為空。 我也不想重復。 希望有人可以幫助我!

干杯

但是它們是相同的記錄。

不,他們不是。

但是,它們可以代表同一業務實體的不同視圖。 要“合並”它們,您必須首先指定它們之間的JOIN准則。

鑒於它是

one.PO = two.P.

然后,您必須編寫一條SQL語句,例如

SELECT one.PO AS ID, 
       one.VE, 
       /*same for TE, LO, IN, D, X, Y, */ 
       two.A, 
       two.B, 
       two.C
  INTO t_what_the_frak_the_new_table_shall_be_called
  FROM t_what_the_frak_table_1_is_called AS one,
       JOIN t_what_the_frak_table_2_is_called AS two 
       ON one.PO = two.P;
GO

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM