2

如果我使用 UNION 从 5 个表中选择列,然后从结果中选择一个特定值,我如何确定该值来自哪个表?

4

4 回答 4

10

在您要提取的其他列的列中提供表名称:

SELECT
  'table1' AS tablename,
  other columns
FROM table1

UNION ALL

SELECT
  'table2' AS tablename,
  other columns
FROM table2

UNION ALL

…
于 2012-04-07T16:16:25.497 回答
5

在结果列表中添加一列,说明数据来自哪个表。例如:

select 'table1' tableName,
       columnA,
       columnB
from table1
union
select 'table2' tableName,
       columnC,
       columnD
于 2012-04-07T16:14:43.010 回答
0
SELECT columnA, columnB, 'Table 1' FROM table1
UNION ALL
SELECT columnA, columnB, 'Table 2' FROM table2

这将添加一列,显示数据来自哪个表。至少在甲骨文中工作......

于 2013-03-27T13:37:07.780 回答
0
select col 1, col 2, 'users' as table_name from users
union all
select col 1, col 2, 'vendors' as table_name from vendors;

'table_name' 将包含源名称。

希望这有效

于 2017-07-20T12:20:03.513 回答