Параметр отчета в сочетании с CASE

Я пытаюсь опросить сотрудников и их отделы. У сотрудников есть ключ отдела, но он не подпадает под этот отдел. Например, секретари, работающие на директора, должны подчиняться не своему собственному отделу (ADVIES & BEHEER), а руководителю (Directie).

Но когда я выбираю отдел с параметром отчета (@Afdeling).

AND ORG.Afdeling = @Afdeling

Я хочу только выбранный отдел. Но он возвращает всех сотрудников и назначенных им CASE отделов из-за ключа отдела. Когда я CASE ключ отдела, он по-прежнему возвращает сотрудников в соответствии с 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

1 ответ

Решение

Решение в основном сводилось к:

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
Другие вопросы по тегам