Union - 具有相同列名但顺序不同的2个表

时间:2014-08-06 09:20:39

标签: sql ms-access union

我对SQL很陌生,所以如果这是一个新手问题,请原谅我。

我在MS Access中有两个表,它们都具有相同的字段名称,但它们的顺序不同。 即

Table 1’s field order is :
     handle, blockname, officenum, officeowner, building, floor …….
Table 2’s field order is :
     handle, officenum, blockname, floor, building, officeowner ……..

我的表链接到txt文件,因为它们是autocad绘图的输出。

我正在尝试将两个表(最终我将有大约40个不同的链接表)合并为一个。

到目前为止,我已经使用UNION ALL将它们组合在一起,但是由于两个表中的顺序不同,字段中的数据不在正确的字段中。

到目前为止我已经得到了这个:

SELECT DISTINCT handle, blockname, officenum, officeowner, building, floor 
FROM Table1 
UNION ALL 
SELECT DISTINCT handle, officenum, blockname, floor, building, officeowner
FROM Table2;

能够提供协助会很棒。

提前致谢

2 个答案:

答案 0 :(得分:2)

您可以更改选择列表中的列顺序。在选择列表中,列可以按您想要的任何顺序放置。您的查询可以是

SELECT DISTINCT handle, blockname, officenum, officeowner, building, floor 
FROM Table1 
UNION ALL 
SELECT DISTINCT handle, blockname, officenum, officeowner, building, floor 
FROM Table2;

答案 1 :(得分:1)

实际上改变选择顺序应该没有问题,即

SELECT DISTINCT handle, blockname, officenum, officeowner, building, floor 
FROM Table1 
UNION ALL 
SELECT DISTINCT handle, blockname, officenum, officeowner, building, floor
FROM Table2;

联盟应该可以正常工作。