我正在寫一個選擇查詢與不同,但我仍然在我的結果中得到重複。 Oracle視圖確實有重複內容,我試圖找回該值的只有一次。選擇獨特查詢左加入,仍然得到重複我的結果
這裏是我的查詢
select
person.person_id,
person.last_name,
person.first_name,
person.first_name,
person.middle_name,
skill.skills_id,
(case
when trim(skills.skill_description) = 'typing fast' then 'TP1'
when trim(skills.skill_description) = 'courier district 9' then 'CD9'
when trim(skills.skill_description) = 'helpdesk shift 3' then 'HD3'
when trim(skills.skill_description) = 'helpdesk shift 5' then 'HD5'
....
else ''
end) AS skill_description
from person_view person
left join (select distinct person_id, skill_id, skill_description, updated_date
from skill_view) skills
on skills.person_id = person.person_id and
((trunc(sysdate) - PHONE.UPDATED_DT <= 1)) and
trim(skills.skill_description) in ('skill1', 'skill2', 'skill3' ...)
有很多關於skill_description的價值,所以我添加IN子句來篩選15 - 20項具體skill_description的值。
我的情況將採取一個值併爲其設置代碼。
我以爲當我使用'distinct'關鍵字時,它會過濾掉重複項,但它不起作用。
這裏是我的輸出到目前爲止
105 John E Doe SKILL1
105 John E Doe SKILL1
105 John E Doe SKILL2
105 John E Doe SKILL2
105 John E Doe SKILL3
105 John E Doe SKILL3
任何幫助表示讚賞。謝謝
咦?您只是編輯了一些關於PHONE.UPDATED_DT的內容,但在查詢中沒有提及PHONE表。那是怎麼回事?請確保您在發佈COMPILES WITHOUT ERRORS之前發佈的任何問題,然後再回答所需的輸出。 – mathguy