【发布时间】:2018-03-03 08:05:30
【问题描述】:
当我在 SQL Server 上运行以下查询时,它适用于单个值或多个值。但是当我尝试在 SSRS Dataset 上执行相同的操作时,它会为多个值引发错误。
错误: SSRS:在条件为的上下文中指定的非布尔类型的表达式 预计在“,”附近。关键字“ELSE”附近的语法不正确。
使用单个值可以正常工作。不确定是什么问题,或者有什么其他方法可以编写此查询。
DECLARE @UserTeam VARCHAR(max) = 'Team1,Team2,Team3,Team4,Team5,Team6,'''
-- Values can inculdes null. if user select blank and Team1,Team2 we need to pull data which is null, Team1, Team2
IF Object_id('tempdb.dbo.#Team', 'U') IS NOT NULL
DROP TABLE #team;
SELECT item AS Team
INTO #team
FROM dbo.FNSPLIT(@UserTeam, ',')
IF @UserTeam = ''
BEGIN
SELECT U.username,
T.teamcode
FROM [User].vwuser u
LEFT JOIN[User].userteam UT
ON U.userid = UT.userid
LEFT JOIN [User].team AS T
ON T.teamid = Ut.teamid
WHERE T.teamcode IS NULL
ORDER BY U.username
END
ELSE
BEGIN
SELECT U.username,
T.teamcode
FROM [User].vwuser u
LEFT JOIN [User].userteam UT
ON U.userid = UT.userid
LEFT JOIN [User].team AS T
ON T.teamid = Ut.teamid
JOIN #team tm
ON T.teamcode = tm.team
WHERE ( U.username NOT LIKE '%System%' )
ORDER BY U.username
END
【问题讨论】:
标签: sql sql-server reporting-services sql-server-2012 ssrs-2012