现有两张表,分别为表A和表B,其结构如下:
A
A_ID A_Name
1 AAAAA
2 AAAAAA
3 AAAAAAA
B
B_ID B_NAME
1 BBBBB
2 BBBBBB
3 BBBBBBB
有没有一条语句可以实现好下效果:
ID Name
1 AAAAA
2 AAAAAA
3 AAAAAAA
1 BBBBB
2 BBBBBB
3 BBBBBBB
谢谢
------解决方案--------------------
楼上好像不完整啊~
select * from A
union
select * from B
order by A_Name
------解决方案--------------------
那这样吧
select * as A_Name from A
union
select * from B
order by A_Name
结果就是下面的了
ID A_Name
1 AAAAA
2 AAAAAA
3 AAAAAAA
1 BBBBB
2 BBBBBB
3 BBBBBBB
------解决方案--------------------
name排序是不行的,必须增加一个伪列来识别是那个表的数据,因为楼住的AA,BB可能是一个代名词,有可能名称的开头字符会重复。
select id,name ,1 as order_by
from A
union all
select id,name ,2
from B
order by order_by
这样写的比较通用。
------解决方案--------------------
这50分应该该 h191561957 :)
傻傻的办法
select A_ID as C_ID,A_Name as C_Name into #temp from A
insert into #temp(C_ID,C_Name) select B_ID,B_NAME from B
select * from #temp
------解决方案--------------------
select ID=A_ID,Name=A_Name from A
union all
select * from B