欢迎光临
我们一直在努力

动态关联表-数据库专栏,SQL Server

建站超值云服务器,限时71元/月

原帖地址:
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
–*/

 

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 动态关联表-数据库专栏,SQL Server
分享到: 更多 (0)