SQLでデータを抽出、表示が出来たのですが(null)が大量に表示されてしまい実行結果が膨らんでしまいました。
下記の様なコードです。
'''
select
STF.STF_NAME,
case KBN.SBT_CD
when 'SECNAME1' then KBN.KBN_NAME else null end 部署,
case KBN.SBT_CD
when 'POSNAME1' then KBN.KBN_NAME else null end 役職,
case KBN.SBT_CD
when 'STFKBN01' then KBN.KBN_NAME else null end 社員区分
from HL_STF_MSTR STF
left join HL_KBN_MSTR KBN
on(STF.SEC_CD=KBN_CD or STF.POS_CD=KBN_CD or STF.STF_KBN=KBN_CD)
--order by
--STF.SEC_CD asc,
--STF.POS_CD asc,
--STF.ENTER_DATE asc
;
'''
以下に記すのがSQL Developerで実行して表示された結果です。
'''
システム部
取締役社長
社員
営業部
取締役部長
社員
システム部
部長
社員
システム部事業推進課
課長
社員
管理部管理課
課長
社員
システム部システム課
主任
社員
システム部事業推進課
リーダー
社員
システム部システム課
課長
社員
システム部事業推進課
一般
社員
システム部事業推進課
一般
社員
システム部システム課
一般
社員
システム部システム課
一般
社員
システム部事業推進課
一般
社員
システム部システム課
一般
社員
システム部事業推進課
一般
社員
システム部システム課
一般
社員
システム部事業推進課
一般
社員
システム部システム課
一般
社員
システム部事業推進課
一般
社員
システム部
一般
契約社員
システム部システム課
一般
社員
システム部システム課
一般
社員
システム部事業推進課
一般
社員
システム部事業推進課
一般
社員
一般
契約社員
管理部管理課
契約社員
契約社員
システム部システム課
一般
契約社員
システム部事業推進課
一般
契約社員
管理部管理課
一般
管理部管理課
一般
システム部
取締役部長
社員
'''
表示が出来ていないのですが大量に(NULL)が紛れています。
この大量の(NULL)を削除するにはどうすれば良いのでしょうか?
例に示すと以下のとおりです。
'''
Aさん システム部 (null) (null)
Aさん (null) 取締役部長 (null)
Aさん (null) (null) 社員
'''
このように3行かけてしまっているのでこれを1行で示したいです。
以下に記すのが大まかな情報です。
社員マスタ、部署マスタ、役職マスタよりデータを抽出する。
抽出項目:
氏名
部署名
役職名 ※社員区分が正社員以外は「役職名+*」(例:一般*)
条件:
なし。
ソート順:
部署コード(昇順)
役職コード(昇順)
入社日(昇順)
どなたか宜しくお願いします。
回答1件
あなたの回答
tips
プレビュー