MySQL:如何知道UNION结果中该记录属于哪个表

时间:2013-09-04 06:53:42

标签: mysql field union record belongs-to

让我们说我想通过使用UNION从2个表中获取记录。 我怎么能在每条记录中添加一个字段来告诉我它属于哪个表?它就像这样:

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

提前致谢?

3 个答案:

答案 0 :(得分:3)

select some_column, 'union_1' as from_where
from table1
union 
select some_column, 'union_2' as from_where
from table2

答案 1 :(得分:1)

您可以尝试类似

的内容
SELECT Col1, Col2, 'Table1' TableSource
FROm Table1
UNION ALL
SELECT Col1, Col2, 'Table2' TableSource
FROm Table2

这对于UNION ALL有效/有意义,但如果您使用UNION可能会产生误导,因为由于差异化的源列,将包含重复项。

答案 2 :(得分:1)

将它放在您的UNION中,例如:

SELECT *, 'articles1' AS table_name FROM articles1
UNION ALL
SELECT *, 'articles2' AS table_name FROM articles2