1
對不起的標題/說明感到抱歉。發生了什麼是我通過ID加入另一個表,但數據來自兩個不同的管理系統(CLONE和GRASN)有沒有我可以添加的代碼來說「如果CLONE和GRASN存在,請使用CLONE」?SQL如果存在兩條記錄,請選擇您想要顯示哪條記錄Teradata
一個簡單的查詢,看起來像這樣:
` select sorce_claim_id
,claim_sorce_syst_cd
,sorce_agrmt_id
,asgn_sorce_syst_cd
from edw_p.claim_agrmt
where sorce_claim_id = '4513049'`
,並返回以下:
SORCE_CLAIM_ID CLAIM_SORCE_SYST_CD SORCE_AGRMT_ID ASGN_SORCE_SYST_CD
4513049 NVLNK 00932419 GRASN
4513049 NVLNK R0035600 CLONE
我只想拉第二個記錄。我不能只說WHERE ASGN_SORCE_SYST_CD = CLONE,因爲這隻會帶回克隆。該表格基本上由GRASN組成,但有重複的記錄(如本例中),如果存在,我想使用CLONE記錄。
我希望這樣做有足夠的意義。我在Teradata工作。
我想'sorce_claim_id = '4513049' 和(asgn_sorce_syst_cd = '克隆' 或source_claim_id NOT IN(選擇edw_p.claim_agrmt sorce_claim_id其中asgn_sorce_syst_cd = '克隆'))'會更簡單和足夠的,但+1無論如何,您仍然應該通過查詢獲得正確的結果。 – hvd 2013-05-03 19:18:13
我建議將not in改爲(選擇foo減去選擇欄)中的not exists或source_claim_id,具體取決於teradata支持的語法。不會趨於緩慢。 – 2013-05-03 19:21:57
完美!非常感謝你們! – gfuller40 2013-05-03 19:29:59