【问题标题】:Sql Server 2012 for dynamic querySql Server 2012 用于动态查询
【发布时间】:2014-07-09 12:29:24
【问题描述】:

我有一个名为Master 的表,其中包含一个outtablename 列,其中的数据也是具有score 列等的表名。我想动态地从这些表中获取数据。

Master表:

outtablename
==============
fte
wdp

fte 有如下数据

fte表:

sku   score
=============
1        23
2        34

我想动态访问fte中的数据

【问题讨论】:

  • 欢迎来到 Stack Overflow!我不知道你想问什么。请发布每个表的完整定义(CREATE TABLE 脚本),以及每个表的一些示例数据。然后,描述这些表之间的关系,并发布您尝试过的操作以及您希望最终产品的样子的示例。
  • 你能给出一些示例查询吗?

标签: sql sql-server-2012


【解决方案1】:

您可以使用此查询来完成。

declare @outtablename varchar(256)
declare @STR Nvarchar(max)

declare tbl cursor
for select [outtablename] from Master

Open tbl
fetch next from tbl into @outtablename

while(@@fetch_status = 0)
begin 
   SET @STR ='select * from '+outtablename
   EXEC sp_executesql @STR 
   fetch next from tbl into @outtablename
end
close tbl
deallocate tbl

【讨论】: