Create view ViewDemo
As
Select V.*,count(*) as row_index
From (
Select v1,v2,v3 from T1 --1
Union
Select v1,v2,v3 from T2 --2
Union
Select v1,v2,v3 from T3 ) as V
group by v1,v2,v3
As
Select V.*,count(*) as row_index
From (
Select v1,v2,v3 from T1 --1
Union
Select v1,v2,v3 from T2 --2
Union
Select v1,v2,v3 from T3 ) as V
group by v1,v2,v3
那只能用函数或存储过程实现
能不能给个例子
1 A B C
2 A B C
3 C E R
......20 J P V --这是1的查询结果
21 C E R
......50 J P V --这是2的查询结果
51 C E R
......90 J P V --这是3的查询结果(v1,v2,v3的数据可能有重复)真的是没有一个人会吗????我不信。。
as
set nocount on create table #temptable(
Id int identity(1,1) PRIMARY KEY not NULL,
v1 char(25),
v2 char(25),
v3 char(25)
) Insert #temptable(v1,v2,v3)
Select v1,v2,v3 from T1 --1
Union all --别忘了加 all
Select v1,v2,v3 from T2 --2
Union all
Select v1,v2,v3 from T3 --3
Select * from #temptable truncate table #temptable
drop table #temptable
我前面发的你都无视好了
Create view ViewDemo
As
Select ID row_index,v1,v2,v3 from T1 --1
Union
Select (T2.ID+T1.ID) row_index,v1,v2,v3 from T2,(Select max(ID) ID From T1) T1 --2
Union
Select (T3.ID+T2.ID+T1.ID) row_index,v1,v2,v3 from T3,(Select max(ID) ID From T2) T2,(Select max(ID) ID From T1) T1 --3PS:CSDN不能编辑,太讨厌了……
再PS:靠,还不能连续回复三次……