2016-09-30 98 views
0

我在查詢員工及其部門。員工有部門鑰匙,但不屬於該部門的每個人。對於爲導演工作,例如secrataries不應歸入自己的部門(ADVIES & BEHEER),但導演(Directie)報告參數與CASE結合使用

下,但是,當我選擇與報表參數(@Afdeling)的部門。

AND ORG.Afdeling = @Afdeling 

我只想選擇部門。但由於部門密鑰,它會返回所有員工及其CASE分配的部門。當我CASE部門鍵時它仍然返回CASE分配部門下的員工。但我只想選擇部門。 例如:

enter image description here

誰能幫助?

謝謝

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 
+0

沒關係傢伙..我翻了。我加入了我的CTE,它的運行良好,對性能幾乎沒有影響。謝謝!! –

回答

0

該解決方案主要歸結爲:

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