我需要从5个表创建一个主表,困难在于表中的同一列可能有不同的名称。所以例如
为简单起见,我只是举两个表的例子
+----+----+
| 1 | 2 |
+----+----+
| PO | P |
| VE | V |
| TE | TE |
| LO | LO |
| IN | |
| D | |
| X | |
| Y | |
| | A |
| | B |
| | C |
+----+----+
因此您可以看到PO没有与表2中相应值相同的列名,但它们是相同的记录。我需要将这两个表聚合成一个主表。
我所做的是从具有最多重复列的表开始,我正在尝试将其他表合并到其中。如果只在一个表上找到一列,我希望其他字段显示为null。我也不想要任何重复。希望有人可以帮助我!
干杯
答案 0 :(得分:1)
但他们是同一个记录。
不,他们不是。
但是,它们可以表示相同业务实体的不同视图。要“合并”它们,您必须首先指定它们之间的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