我有一个名为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
有人知道如何使用临时字段来帮助使此内部联接起作用,以便我可以获取所需的数据吗?
答案 0 :(得分:1)
引用名称:
...
) B on B.CustomerNumber = A.CustomerNumber AND B.CFADTemp = A.AddressType
如果3=>4,1=3,4=>2,2=>1
需要相同的A.AddressType
映射,则需要另一个CASE
表达式。