INNER JOIN中的参考温度列

时间:2019-04-11 04:38:37

标签: sql

我有一个名为CFADTemp的临时列,我试图在内部联接中使用它来帮助我匹配来自另一个表的数据。

SELECT 
    CustomerNumber, AddressLine1, AddressLine2, AddressLine3
FROM 
    CFAddress A
INNER JOIN 
    (SELECT 
         CustomerNumber, AddressType, 
         MAX((CASE 
                 WHEN AddressType = '3' THEN '4'
                 WHEN AddressType = '1' THEN '3'
                 WHEN AddressType = '4' THEN '2'
                 WHEN AddressType = '2' THEN '1'
              END) AS CFADTemp
    FROM 
        CFAddress
    GROUP BY 
        CustomerNumber, AddressType) B ON B.CustomerNumber = A.CustomerNumber 
                                       AND...

我需要加入CFADTemp和情况的情况下,不仅要加入CustomerNumber

有人知道如何使用临时字段来帮助使此内部联接起作用,以便我可以获取所需的数据吗?

1 个答案:

答案 0 :(得分:1)

引用名称:

...
) B on B.CustomerNumber = A.CustomerNumber AND B.CFADTemp = A.AddressType

如果3=>4,1=3,4=>2,2=>1需要相同的A.AddressType映射,则需要另一个CASE表达式。