数据库:如何分离来自两个表的sql查询?

时间:2016-01-19 16:09:35

标签: mysql sql database

我有一个SQL查询,它使用UNION来从两个表中获取数据。我需要一种方法来找出哪些数据来自UI中的哪个表。有没有办法插入一个标志,可以说明来自特定表的数据?我知道解雇两个查询可能是一个解决方案,但我想尝试将其保存在一个查询中。有解决方案吗?

3 个答案:

答案 0 :(得分:0)

SELECT 'table1' AS 'table', * FROM table1
UNION
SELECT 'table2' AS 'table', * FROM table2

答案 1 :(得分:0)

您可以尝试:

  SELECT 'T1' as tbl, Field1,Field2,Field3 From TABLE1 UNION 
  SELECT 'T2' as tbl, Field1,Field2,Field3 From TABLE2

答案 2 :(得分:0)

如果要合并两个表中的数据,那么您应该使用UNION ALL,而不是UNIONUNION会导致删除重复项的开销,即使不存在重复项也是如此。

所以:

select t1.*, 'table1' as which
from table1 t1
union all
select t2.*, 'table2'
from table2 t2;

使用*假设两个表中的列和类型相同/兼容。