抱歉标题/描述不佳。发生的事情是我通过ID加入另一个表,但数据来自两个不同的管理系统(CLONE和GRASN)是否有任何代码我可以添加说“如果CLONE和GRASN存在,请使用CLONE”?
一个简单的查询如下所示:
` 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工作。
答案 0 :(得分:4)
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'
and asgn_sorce_syst_cd = 'CLONE'
UNION
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'
and asgn_sorce_syst_cd = 'GRASN'
and source_claim_id NOT IN (select sorce_claim_id from edw_p.claim_agrmt where asgn_sorce_syst_cd = 'CLONE')