[英]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.