如何通过where子句过滤执行结果(@query)?

时间:2013-02-23 12:56:30

标签: sql-server tsql filter

我想知道如何在动态查询的结果中过滤(放置where子句),如下所示:

execute(@query)

问题是@query的列数是动态的,标题是未知的,因为查询是PIVOT的结果:

TSQL creating a dynamic report from two tables, one table is holds the headers, other one, data

我想得到的结果是这样的:

select * from execute(@query) where column(1) = 'something'

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

set @query = N'select * from (' + @query + N') t where [col1] = ''something''';

exec (@query)

您可以使用unpivoted表来确定列的名称,并使用它来代替col1。