我有一个场景,我需要根据他们的代码类型比较金额,并将该金额与另一种代码类型进行比较并返回结果。
例如:
SELECT distinct P.TERM_KEY, C.Country_code, Amt.DAMT
FROM TERM P
INNER JOIN Country C ON P.TERM_KEY= C.TERM_KEY
INNER JOIN Amount Amt ON C.COU_KEY = Amt.PARENT_KEY AND Amt.PARENT_TABLE=Country
WHERE P.Term_no = 'ABCD' AND C.Country_CD IN (50, 51)
此查询的结果如下:
TERM_KEY Country_code DAMT
201000000085 5000 1000.00
201000000083 5001 750.00
201000000081 5001 1000.00
201000000342 5000 1000.00
201000002340 5001 750.00
201000034733 5001 1000.00
现在我需要将国家代码(50 和 51)的 Damt 与国家代码 20 进行比较,如果国家代码 20 的 Damt 和国家代码(50、51)相等,我需要将值报告为“5869”,否则如果不相等我需要将值报告为“0000”。
我将在其他情况下使用上述结果集
例子
Case
WHEN C.County = 999 and C.Contry_code = '20' AND ISNULL(CDED.DAmt,0)=0 THEN '5869'
C.County = 999 and C.Contry_code = '20' AND ISNULL(Amt.DAmt,0)!=0 THEN '0000'
end as Country_County
所以 CDED 必须返回我需要使用的结果集。怎么可能呢?