动态关联表
发表于:2007-07-02来源:作者:点击数:
标签:
原帖地址: 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)
原帖地址:
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
--*/
原文转自:http://www.ltesting.net