将多个表中的列合并在一起,列不按顺序

Merge columns together from multiples tables, columns not in order

我有 3 个 SELECT FROM,我想将 3 个结果合并为一个 table,我不能使用一个 select*from 而对 3 个使用 JOIN tables.

我可以使用用作键的 A 和 B 列合并 table。 我需要对 3 个合并的 table 执行最终 UNION,其中列的顺序不同。

示例:

SELECT A, B, C, D, E, F, G, H, I
FROM Table 
UNION ALL
(
   SELECT A, B, F, G FROM Stuff
   --JOIN?MERGE?WhatHere?
   SELECT A, B, E, C FROM otherStuff
   --JOIN?MERGE?WhatHere?
   SELECT A, B, D, H FROM otherstuffbis
   I --adding null value to columns
 )

试试这个

SELECT A, B, C, D, E, F, G, H, I
FROM Table 
UNION ALL
(


   SELECT 
   A, 
   B, 
   NULL AS c, 
   NULL AS D,
   NULL AS E,   
   F, 
   G ,
   NULL AS H,
   NULL AS I
   FROM [stuff]


   SELECT 
   A, 
   B, 
   c, 
   NULL AS D,
   E,   
   NULL AS F, 
   NULL AS G ,
   NULL AS H,
   NULL AS I
   FROM [otherStuff]

   UNION ALL

   SELECT 
   A, 
   B, 
   NULL AS c, 
   NULL AS D,
   E,   
   NULL AS F, 
   NULL AS G ,
   H,
   NULL AS I
   FROM [otherstuffbis]


 ) A