原帖地址:
http://community.csdn.net/expert/topic/3452/3452577.xml?temp=.1377375
–示例数据
create table [table](a sysname,b varchar(10))
insert [table] select table_1,a
union all select table_2,b
create table table_1(a int)
insert table_1 select 1
union all select 2
create table table_2(a int)
insert table_2 select 3
union all select 4
go
/*–问题说明:
table中,a字段存储着其他表的名称
a字段中,记录和各个表的a字段的最大值
即得到如下结果:
table.b c
——– ———–
a 1
b 2
–*/
–处理方法
declare @s varchar(8000)
set @s=
select @s=@s+ when +a+ then(select max(a) from [+a+])
from [table] group by a
exec(select b,c=case a+@s+ end from [table])
go
–删除测试
drop table [table],table_1,table_2
/*–测试结果
b c
———- ———–
a 2
b 4
–*/