SQL语句使用unionall后如何知道返回的每一条记录属于哪一?
两个表的字段名完全相同,无关联 select * f(select * from [表1]union all select * from [表2] )as a order by a.id 这样合并查询后在返回的记录集中,如何得知某一条记录是属于原先的哪一张表,是表1 还是 表2
这个问题不难解决,请参考如下代码(SYBASE): select * from (select '1' a,* from [表1] union all select '2',* from [表2] )as a order by a.id 在select表1和表2时,分别加上两个伪列,用来区分来自不同的表。 在例中,可以用'1'表示数据来自表1 ,用'2'表示数据来自表2,并且第1个伪列需要定义别名。