当我使用以下代码加入最近更新的地址时,它导致ZIP中的所有相关字段返回为NULL。我已经尝试了一个外部应用程序,它做得更好,但它不会从右侧的两个表中检索到每一个zip,即使它们存在。左外部加入选择前1个结果为空
SELECT
i.ion_ID as [ION],
zip.City as [City],
zip.StateCode as [State],
zip.ZipCode as [Zip Code],
zip.County as [County]
FROM
HWSP_t_ION i
LEFT OUTER JOIN (SELECT TOP 1 ad.AssociatedIDValue, z.Zipcode, z.City, z.StateCode, z.County
FROM CADD_t_Address ad
LEFT OUTER JOIN CADD_lt_ZipCode z
ON ad.zip = z.ZipCode
ORDER BY ad.ChangedOn desc
) AS ZIP
ON zip.AssociatedIDValue = i.ION_ID
编辑: 这是外应用看起来像:
SELECT
i.ion_ID as [ION],
zip.City as [City],
zip.StateCode as [State],
zip.ZipCode as [Zip Code],
zip.County as [County]
OUTER APPLY (SELECT TOP 1 ad.zip
FROM CADD_t_Address ad
WHERE ad.AssociatedIDValue = ci.ION_ID
and [ad].[Status] = 'ACTIVE'
ORDER BY ad.ChangedOn desc
) ad
OUTER APPLY (SELECT TOP 1 zip.Zipcode, zip.City, zip.StateCode, zip.County as [County]
FROM CADD_lt_ZipCode zip
WHERE ad.zip = zip.ZipCode
) zip
如果您想提供样本数据和期望的结果 – Veljko89
我希望我可以,但这是使用PII的敏感数据。 ION是案例编号,它拉动所有300k +行。其余的字段(zip.xxx)全部返回为空。所以有些东西不能正确连接。 –
尝试将其分解并将其解密。如果你可以用简单的话来说,它可以帮助你找出你需要的地方。您使用的是哪个版本的SQL。尝试类似sqlfiddle的东西,看看你是否可以设置一个你想要做的事情的基本例子。 – Shawn