首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

UNION 查询时 为何不是第一个表的数据排在前面

2012-02-05 
UNION 查询时 为何不是第一个表的数据排在前面 在线等selecta1,a2,a3fromaunionselectb1,b2,b3fromb查询结

UNION 查询时 为何不是第一个表的数据排在前面 在线等
select       a1,a2,a3       from       a          
  union              
  select       b1,b2,b3       from       b          

查询结果   是   a表中的数据和b表中的数据混合着   ,没有指定任何排序,有什么办法指定   结果是   a表中的数据排在前面,表b中的数据库排在后面

[解决办法]
select *
from (
select a1,a2,a3,1 as xh from a
union
select b1,b2,b3,2 as xh from b ) T
order by xh
[解决办法]
select *
from (
select a1,a2,a3,1 as xh from a
union
select b1,b2,b3,2 as xh from b ) T
order by xh
这种方法可行!
[解决办法]
ls正解。
[解决办法]
select a1,a2,a3 ,1 as id from a
union
select b1,b2,b3,2 from b
order by id

[解决办法]
--可以合并重复行。

select *
from (
select a1 as f1,a2 as f2,a3 as f3,1 as xh from a
union
select b1 as f1,b2 as f2,b3 as f3,2 as xh from b) T1
where checksum(f1,f2,f3) in
(select checksum(*)
from
(
select a1 as f1,a2 as f2,a3 as f3 from a
union
select b1 as f1,b2 as f2,b3 as f3 from b
) as T2)
order by xh

热点排行