最近更新されたアドレスで次のコードを使用すると、ZIP内のすべての関連フィールドがNULLとして返されます。私は外部からの適用を試みましたが、より良い仕事をしますが、存在していても、右側の2つのテーブルからすべての単一のジップを検索するわけではありません。左外部結合でNULLを選択した場合
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
EDIT:SQLを操作する場合は、セット内のデータを考える
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)はすべてnullとして戻されます。だから何かが正しく結合していない。 –
これを分解して解除してください。簡単な言葉にすることができれば、必要な場所を把握するのに役立ちます。使用しているSQLのバージョン。あなたがしようとしていることの基本的な例を設定できるかどうかを調べるには、sqlfiddleのようなものを試してみてください。 – Shawn