2
我在SSRS中有一个报告,其中一个参数是基于某人是否参加了面试,未能参加或没有当前的反馈。SQL案例在哪里条款
的SQL如下:
SELECT
(C.Forename + ' ' + C.Surname) as Fullname,
C.NINO,
S.SignpostingType, ST.StakeholderDesc, S.SignpostDate,
(CASE WHEN S.Attended = 0 THEN 'False' ELSE 'True' END) AS Attended,
(CASE WHEN S.FailedToAttend = 0 THEN 'False' ELSE 'True' END) AS FailedToAttend,
(CASE WHEN S.Experience = '.' THEN '' ELSE S.Experience END) AS Experience
FROM
Customer C
INNER JOIN
Signposting S on S.CustomerID = C.CustomerID
INNER JOIN
Stakeholder ST on ST.StakeholderID = S.StakeholderID
WHERE
(S.SignpostDate >= '2001-01-01' And S.SignpostDate <= '2015-01-01')
AND (S.StakeholderID in (1,2,3,4,5,6,7,52,53,55,70,71,73))
--AND (S.Experience in (@Experience))
--AND (S.SignpostingType in (@SignpostType))
AND
CASE @Attended
WHEN 0 THEN (S.Attended = 1 AND S.FailedToAttend = 0)
WHEN 1 THEN (S.Attended = 0 AND S.FailedToAttend = 1)
WHEN 2 THEN (S.Attended = 0 AND S.FailedToAttend = 0)
END
的问题是在最后和条件。根据@Attended
的值,我希望在查询中使用不同的列值。
我知道我可以在存储过程中动态执行它,但我被要求写一些将会包含SSRS中所有SQL的东西。我只是想确保在我推回这个之前,我已经耗尽了我的选择。
在此先感谢您的时间和帮助。
感谢您的答复,它的工作一种享受! –
我很高兴能够提供帮助。 –