想要通过SQL在MS Access查询中添加新列

时间:2013-09-06 02:02:34

标签: sql

我有3个表,它们都有相同的列标题Name,Number我使用union命令加入了它们,如下所示:

SELECT Name, Number
FROM table1
Union all
select name, number
from table2
UNION ALL select name, number
from table3;

每件事都在这里。现在我想添加一个新列,该列应包含有关从哪个表中获取此数据的信息。我正在使用alter table命令,但它给出了错误。

请帮助我。我正在研究MS access 2007。

2 个答案:

答案 0 :(得分:0)

只需将其作为每个子查询中的列添加:

SELECT Name, Number, 'table1' as which
FROM table1
Union all
select name, number, 'table2' as which
from table2
UNION ALL
select name, number, 'table3' as which
from table3;

答案 1 :(得分:0)

ALTER TABLE仅适用于实际表,而不适用于查询结果。

您只需将信息作为伪列添加到当前查询中:

SELECT 
  Name, Number, 'Table1' as TableName
FROM 
  table1
Union all
select 
  name, number, 'Table2'
from 
  table2
UNION ALL 
select 
  name, number, 'Table3'
from table3;