0
我試圖在各級官員中產生頭銜,但我只得到更詳細的頭銜。我怎樣才能糾正這個陳述?迷失在SQL查詢
目前,我得到更詳細的標題像99ABC,但我想獲得所有組合。
99---
99--C
99-B-
99A--
99-BC
99A-C
99AB-
99ABC
select distinct TITLE
from (SELECT
(case when OFF3.OFFICER_ID IS NOT NULL then DEP.INDICATOR || TEA.INDICATOR || coalesce(OFF1.INDICATOR, '-') ||
coalesce(OFF2.INDICATOR, '-') || coalesce(OFF3.INDICATOR, '-')
else case when OFF2.OFFICER_ID IS NOT NULL then DEP.INDICATOR || TEA.INDICATOR || coalesce(OFF1.INDICATOR, '-') || coalesce(OFF2.INDICATOR, '-') || '-'
else case when OFF1.OFFICER_ID IS NOT NULL then DEP.INDICATOR || TEA.INDICATOR || coalesce(OFF1.INDICATOR, '-') || '--'
else DEP.INDICATOR || TEA.INDICATOR || '---' end end end) as TITLE
FROM DEPARTMENT DEP,
TEAM TEA
LEFT OUTER JOIN OFFICER OFF1 ON OFF1.OFFICER1_TEAM_ID = TEA.TEAM_ID
LEFT OUTER JOIN OFFICER OFF2 ON OFF2.OFFICER2_TEAM_ID = TEA.TEAM_ID
LEFT OUTER JOIN OFFICER OFF3 ON OFF3.OFFICER3_TEAM_ID = TEA.TEAM_ID
WHERE TEA.TEAM_DEPA_ID = DEP.DEPARTMENT_ID
AND TEA.TEAM_MANAGER_ID IS NOT NULL
AND coalesce(TEA.TEAM_MANAGER_ID, OFF1.TEAM_OFFICER_ID, OFF2.TEAM_OFFICER_ID, OFF3.TEAM_OFFICER_ID) is not null) myselect
P.S. ||
用於集中操作。
@標記欄杆。感謝你的回答。沒有'運營商'可以做到嗎? – Kayser 2012-03-15 09:46:40
@凱瑟:是的,但答案不太容易理解。 WITH'應該是DB2 SQL的標準部分 - 爲什麼不想使用它? – 2012-03-15 09:48:56
@ mark-banister我會把這個查詢放在另一個查詢中,比如'select * from(myselect)where ...'In from it is not allowed .. – Kayser 2012-03-15 09:58:06