我们有一些结构非常相似的遗留表。这些表是分开的,因为相同信息的格式略有不同,这取决于从何处获取信息的源[不要触发模式继承器;)]。我们一直在查询中使用union。
例如:
SELECT a, b, c, FROM Table_1 WHERE …
UNION
SELECT a, b, c, FROM Table_2 WHERE …
UNION
SELECT a, b, c, FROM Table_3 WHERE …
这种混乱的安排一直在起作用,但我们想知道我们输出的信息来自哪个表。有什么办法可以实现吗?
2条答案
按热度按时间goqiplq21#
你可以做:
别忘了使用
UNION ALL
而不是UNION
. 它具有更好的性能,并且不删除行。pinkon5k2#
只需向每个包含表名的子查询添加一列:
请注意,我更改了
UNION
s到UNION ALL
s、 因为添加此列基本上会破坏UNION
提供。