【发布时间】:2011-10-08 17:29:01
【问题描述】:
我有多个表,其中大约有 10 个公共列,但有些表有 1-2 个额外列。
我想将所有这些表合并到一个表中,每个表中的每一行都有一行,每个特定行的源表中不存在的任何列都具有 NULL 值。
所以我的输入大致如下:
table1
id | colA | colB
table2
id | colA | colB | colC
table3
id | colA | colB | colD
我正在努力做到这一点:
allTables
id | colA | colB | colC | colD
在上面的示例中,table1 中的所有行在 allTables 中 colC 和 colD 的值为 NULL,table2 中的所有行 colD 的值为 null,table3 中的所有行 colC 中的值都为 null。
几个注意事项:
- 表之间的列 id 不相同或不相关
- 我的示例显示了 3 个表,但我有大约 8-9 个。
- 每个源表中都存在重复行,应予以保留。
我特别感兴趣的是是否有类似于投票最多的here 的答案或类似的更概括的答案。
【问题讨论】: