0
모눈 결과를 반환하는 저장 프로 시저가 있습니다. 표시된대로 @idCC
매개 변수를 SQL 쿼리로 전송할 때 근본적인 문제가 있습니다. 숫자 값에서 매개 변수와 하드 코드를 제거하면 SQL이 작동하는 것을 알 수 있습니다. 쿼리가 표시된 쿼리에 @idCC
을 읽도록 허용하려면 어떻게합니까?SQL Server 저장 프로 시저 - 매개 변수
[dbo].[sp_CC_ContactGroupList]
에서
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[sp_CC_ContactGroupList]
(@idCC int)
AS
BEGIN
DECLARE @ListOfGroups VARCHAR(MAX) =
(STUFF((SELECT DISTINCT ',' + QUOTENAME(GroupName)
FROM dbo.CC_Groups
WHERE IsContactGroup = '1'
FOR XML PATH('')), 1, 1, ''));
DECLARE @sql VARCHAR(MAX) = ('SELECT *
FROM
(SELECT
dbo.CC_Contacts.idCC,
dbo.CC_Groups.GroupName AS gName,
''X'' AS IsInGroup
FROM
dbo.CC_ContactGroups
INNER JOIN
dbo.CC_Groups ON dbo.CC_ContactGroups.idGroup = dbo.CC_Groups.idGroup
INNER JOIN
dbo.CC_Contacts ON dbo.CC_ContactGroups.idCC = dbo.CC_Contacts.idCC
WHERE
dbo.CC_Contacts.idCC = '''[email protected]+''') AS x
PIVOT (MAX(IsInGroup)
FOR gName IN(' + @ListOfGroups + ')) as p');
EXEC(@sql);
END
을 보여줍니다 교체 ? – Alfabravo
대체 어디에 WHERE dbo.CC_Contacts.idCC = '' '+ @ idcc +' '' WHERE dbo.CC_Contacts.idCC = + @idCC 대체 –
행은 다음과 같습니다 : | idcc | GroupName1 | GroupName2 | GroupName3 | | 25 | Null | X | Null | X | – PigsIncorporated