1
的動態軸數查詢
在以下查詢中,formid參數導致錯誤。我已經嘗試使用靜態值代替formid參數,在這種情況下查詢成功。我使用不正確的語法嗎?這個線程似乎解決了這個問題,但是語法似乎是相同的。帶參數
ALTER PROCEDURE [dbo].[customFormReport]
(
@formid int
)
AS
BEGIN
SET NOCOUNT ON
DECLARE @cols AS NVARCHAR(MAX),
@query AS NVARCHAR(MAX)
select @cols = STUFF((SELECT distinct ',' + QUOTENAME(fieldname)
from FormResponse
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
,1,1,'')
set @query = 'SELECT FormID, FormSubmissionID,' + @cols + ' from
(
SELECT FormID, FormSubmissionID, fieldname, value
FROM FormResponse WHERE FormID = ' + @formid + '
) x
pivot
(
max(value)
for fieldname in (' + @cols + ')
) p '
execute(@query)
什麼錯誤?我期望它是+ Convert(VarChar(8),@ formid),因爲它是一個int,但除此之外,我沒有看到你做了什麼錯。 –