日期:2014-05-19  浏览次数:20507 次

两个表的字段的合并,并从小到大排列,且把重复的数值去掉
A表
------------------------------------
AID       A字段1           A字段2       .....
1             2                     SFSAF
2             1                     SADFA
3             6                     ASDFASFD

B表
------------------------------------
BID       B字段1           B字段2         B字段3           ......
1             5                     SFSAF           DFASDFA
2             3                     SADFA           SDFASDF
3             2                     ASDFASFD     ASDFASD
4             5                     。。。         。。。


问题
如何把   AB表的   A字段1和B字段1   合并成一个字段,如上列子我要得到如下结果:
===============================
字段名
6
5
3
2
1
=================================

结果是从大到小排列,并把重复的数值去掉。

------解决方案--------------------

select 字段名
from
(
select A字段1 as 字段名
from A
union
select B字段1 as 字段名
from B
) T
group by 字段名
order by 字段名 desc
------解决方案--------------------
declare @ta table(AID int,A字段1 int,A字段2 varchar(10))
insert @ta
select 1, 2, 'SFSAF ' union all
select 2, 1, 'SADFA ' union all
select 3, 6, 'ASDFASFD '
declare @tb table(BID int,B字段1 int,B字段2 varchar(10))
insert @tb
select 1, 5, 'SFSAF ' union all
select 2, 3, 'SADFA ' union all
select 3, 2, 'ASDFASFD ' union all
select 4, 5, 'XYZSSSS '

select A字段1 from @ta
union
select B字段1 from @tb
order by 1 desc

/*结果
A字段1
-----------
6
5
3
2
1
*/