与えられた
CREATE TABLE Addresses
Id INT NOT NULL
Zip NVARCHAR(5) NULL
ZipPlus4 NVARCHAR(9) NULL
CREATE TABLE ZipLookup
Zip NVARCHAR(5) NULL
Code NVARCHAR(10) NULL
CREATE TABLE ZipPlus4Lookup
ZipPlus4 NVARCHAR(9) NULL
Code NVARCHAR(10) NULL
そしてのようなデータ
Addresses
1 | 92123 | 921234444
ZipLookup
92123 | Type A
ZipPlus4Lookup
921234444 | Type B
次のようなクエリを作成することは可能ですか。
一致する場合、アドレスの特定の行はZipPlus4Lookupに外部結合されます
Addresses.ZipPlus4 = ZipPlus4Lookup.ZipPlus4
それ以外の場合、一致するものがある場合、アドレスの指定された行はZipLookupに外部結合されます
Addresses.Zip = ZipLookup.Zip
それ以外の場合、どちらのテーブルも外部結合されません
平易な英語では、AddressesテーブルにはZip列とZipPlus4列があり、最も正確に一致するものを使用してコードを検索する必要があります。Zip + 4に一致するものがある場合は、その一致のコードを使用します。それ以外の場合は、Zip一致のコードを使用します。
共有しようとしたクエリがあればいいのですが、これではどこから始めればよいのかわかりません。