0
我是很新的SQL,所以我很抱歉如果這是一個簡單的問題或者我的代碼不正確。 我有一個數據集(讓我們稱之爲員工數字),我已經有一個查詢。它有2400多個結果。 I'n Oracle 10g上SQL:如果存在值,則返回Y
我有2個問題:
查詢具有笛卡兒積的問題。我只需要選擇語句中的字段的最近記錄
我需要查找其中有多少人在表JOB中有一行的值爲REH(重新僱傭)的SYSADM.PS_JOB.ACTION_REASON字段。我不需要從下面的查詢中返回REH記錄信息,只是簡單的Y或N。
我不知道該怎麼做。
這是我的查詢到目前爲止。
SELECT a.paygroup, a.EMPLID, a.FILE_NBR, c.name, e.TLM_STATUS, b.rehire_dt
as "Emplmnt_Rltd_Dtes-Rehire Date"
FROM PS_EMPLOYMENT b
inner join SYSADM.PS_JOB a
on a.emplid = b.emplid
inner join SYSADM.PS_PERSONAL_DATA c
on a.emplid = c.emplid
inner join SYSADM.PS_SMS_SUBSCRB_TBL d
on a.paygroup = d.SUBSCRIBER_ID
Inner join PORTAL.PS_TS_EMPL_TLM_STATUS e
on a.emplid = e.emplid
where
b.rehire_dt IS NOT NULL
and d.EFFDT = (select max (d2.effdt) from PS_SMS_SUBSCRB_TBL d2 where
d.SUBSCRIBER_ID = d2.SUBSCRIBER_ID)
and e.EFFDT = (select max (e2.effdt) from PORTAL.PS_TS_EMPL_TLM_STATUS e2
where e.emplid = e2.EMPLID)
and d.EFF_STATUS <> 'T'
order by a.paygroup, a.emplid
感謝您的幫助!
親切的問候, 克雷格
什麼亂七八糟的......右外加入...執行作爲內加入... – jarlh
有趣的是,我原本是將它作爲一個正確的外部連接,但是這並沒有改變結果。 –
連接字段是否是唯一列 –