2つのテーブルを結合しようとしていますが、奇妙な要件があります。
通常、私はその顧客のレコードがあり、コードが一致する場所に参加します
SELECT *
FROM DataTable d
JOIN LookupTable l
ON d.LookupCode = l.LookupCode
AND d.Customer = l.Customer
ただし、私がする必要があるのは、ルックアップテーブルの3つの行を結合することです。一致するID、および別の列のソート順(Order)に基づく前後の行(存在する場合)。次に、最初に一致するレコード、次に前のルックアップレコード、次に一致したレコードの後にあるルックアップレコードを使用して、結果を並べ替える必要があります。
これを達成するための最良の方法について何か考えはありますか?
例:
Lookup:
Customer Code Order
12345 A 1
12345 B 2
12345 C 3
12345 D 4
12345 E 5
22222 A 1
22222 B 2
22222 D 4
22222 E 5
Data:
Customer Code
12345 B
12345 D
22222 B
22222 D
Result I need
Customer Code
12345 B
12345 A
12345 C
12345 D
12345 C
12345 E
22222 B
22222 A
22222 D
22222 D
22222 B
22222 E