报表参数结合 CASE
Report Parameter in combination with CASE
我正在尝试查询员工及其部门。员工有部门密钥,但不属于该部门本身。例如为主任工作的秘书不应该属于她自己的部门(ADVIES & BEHEER),而应该属于主任(Directie)
但是当我选择带有报告参数的部门时(@Afdeling)。
AND ORG.Afdeling = @Afdeling
我只想要选择的部门。但是它 returns 所有员工和他们的 CASE 都根据 departmentkey 分配了部门。当我 CASE 部门键时,它仍然是 returns CASE 分配部门下的员工。但我只想要选择的部门。
例如:
有人能帮忙吗?
谢谢
SELECT CASE ORG.Afdeling
WHEN 'ADVIES & BEHEER'
THEN
CASE mdw.Naam
WHEN 'Verhaag-Vanmaris, APM'
THEN 'Directie'
WHEN 'Bouten, MJC'
THEN 'Directie'
WHEN 'Vallen-Vullers, GMS'
THEN 'Burgemeester en wethouders'
END
ELSE UPPER(LEFT(ORG.Afdeling, 1)) + LOWER(RIGHT(ORG.Afdeling, LEN(ORG.Afdeling) - 1))
END AS Afdeling
FROM x
WHERE YEAR(CTE.Datum) = @Jaar
AND ORG.Afdeling = @Afdeling
解决方案基本上归结为:
WITH CTE AS(
SELECT X.SUM(CALLS), D.Dep, EMPL.empl
FROM X
LEFT JOIN EMPL
ON X.DESPHONE = EMPL.PHONE
LEFT JOIN DEPT AS D
ON EMPL.EMP_ID = D.EMP_ID
WHERE D.Dep = @Department
GROUP BY D.Dep, EMPL.empl
)
SELECT *
FROM CTE
我正在尝试查询员工及其部门。员工有部门密钥,但不属于该部门本身。例如为主任工作的秘书不应该属于她自己的部门(ADVIES & BEHEER),而应该属于主任(Directie)
但是当我选择带有报告参数的部门时(@Afdeling)。
AND ORG.Afdeling = @Afdeling
我只想要选择的部门。但是它 returns 所有员工和他们的 CASE 都根据 departmentkey 分配了部门。当我 CASE 部门键时,它仍然是 returns CASE 分配部门下的员工。但我只想要选择的部门。 例如:
有人能帮忙吗?
谢谢
SELECT CASE ORG.Afdeling
WHEN 'ADVIES & BEHEER'
THEN
CASE mdw.Naam
WHEN 'Verhaag-Vanmaris, APM'
THEN 'Directie'
WHEN 'Bouten, MJC'
THEN 'Directie'
WHEN 'Vallen-Vullers, GMS'
THEN 'Burgemeester en wethouders'
END
ELSE UPPER(LEFT(ORG.Afdeling, 1)) + LOWER(RIGHT(ORG.Afdeling, LEN(ORG.Afdeling) - 1))
END AS Afdeling
FROM x
WHERE YEAR(CTE.Datum) = @Jaar
AND ORG.Afdeling = @Afdeling
解决方案基本上归结为:
WITH CTE AS(
SELECT X.SUM(CALLS), D.Dep, EMPL.empl
FROM X
LEFT JOIN EMPL
ON X.DESPHONE = EMPL.PHONE
LEFT JOIN DEPT AS D
ON EMPL.EMP_ID = D.EMP_ID
WHERE D.Dep = @Department
GROUP BY D.Dep, EMPL.empl
)
SELECT *
FROM CTE