【发布时间】:2016-07-08 19:57:45
【问题描述】:
我有一个表,我在其中存储列 namea,它看起来像这样:
header
Ref_1
Ref_4
Ref_6
Ref_100
我想运行一个动态 sql,它将使用表上的值作为列名,应该如下所示:
select mycolumn1, mycolumn2 a from mytable1 b inner join a.ref = **b.ref_1**
select mycolumn1, mycolumn2 a from mytable1 b inner join a.ref = **b.ref_4**
select mycolumn1, mycolumn2 a from mytable1 b inner join a.ref = **b.ref_6**
select mycolumn1, mycolumn2 a from mytable1 b inner join a.ref = **b.ref_100**
在这里你看到 b.ref_{#} 应该是动态传递的,我有什么办法吗?
我可以使用 C# 脚本或 SQL Server 集成服务轻松做到这一点,但我想在 T_SQL 中做到这一点?
提前致谢
【问题讨论】:
-
你的select语句不正确? from 子句中缺少表
a。 -
您是否需要特定列的所有列的脚本?
标签: sql sql-server sql-server-2008 tsql dynamic