【发布时间】:2019-07-18 16:25:48
【问题描述】:
我需要在查询中使用 where 子句,但我无法做到。
我只想要结果 WHERE attrpfd_attr_name LIKE 'ABC%' 但我无法将这部分代码添加到我的查询中。有什么想法吗?
DECLARE @cols NVARCHAR(MAX), @query NVARCHAR(MAX);
SET @cols = STUFF(
(
SELECT DISTINCT
','+QUOTENAME(c.[attrpfd_attr_name])
FROM [dbo].[attrpfd_det] c FOR XML PATH(''), TYPE
).value('.', 'nvarchar(max)'), 1, 1, '')
SET @query = 'SELECT [attrpf_key1], '+@cols+'from (SELECT [attrpf_key1],
[attrpfd_default_value_char] AS [amount],
[attrpfd_attr_name] AS [category]
FROM [dbo].[attrpf_mstr]
INNER JOIN [dbo].[attrpfd_det]
ON attrpf_mstr.oid_attrpf_mstr = attrpfd_det.oid_attrpf_mstr
)x pivot (max(amount) for category in ('+@cols+')) p';
EXECUTE (@query);
【问题讨论】:
标签: sql-server xml tsql dynamic-sql