1

假设我想使用 UNION 从 2 个表中获取记录。如何向每条记录添加一个字段来告诉我它属于哪个表?它只是这样的:

id     |    title     | link            | table
-----------------------------------------------------
1      | Title 1      | somelink.html   | articles1
2      | Title 2      | link2   .html   | articles2
3      | Title 3      | link3   .html   | articles1

提前致谢?

4

3 回答 3

3
select some_column, 'union_1' as from_where
from table1
union 
select some_column, 'union_2' as from_where
from table2
于 2013-09-04T06:56:11.280 回答
1

你可以尝试类似的东西

SELECT Col1, Col2, 'Table1' TableSource
FROm Table1
UNION ALL
SELECT Col1, Col2, 'Table2' TableSource
FROm Table2

这将适用于/有意义UNION ALL,但如果您使用 可能会产生误导UNION,因为由于区分源列,因此将包含重复项。

于 2013-09-04T06:56:18.870 回答
1

只需将其放入您的 UNION 中,例如:

SELECT *, 'articles1' AS table_name FROM articles1
UNION ALL
SELECT *, 'articles2' AS table_name FROM articles2
于 2013-09-04T06:56:27.637 回答