【发布时间】:2019-08-14 15:39:22
【问题描述】:
我有下表,其中基本上包含我需要的正确数据: TB1:
P PR C CR QTY
-- -- -- -- ---
Z 01 C 02 14
X 02 D 01 1
Q 03 Z 01 22
D 01 S 04 9
我需要做的是将 P+PR 和 C+CR 列替换为我从查找表中获取的每一列: LUT2:
CATNUM R RNUM RREV
------ -- ---- ----
Z-01 01 Z 01
X 02 X 02
Q-03 03 Q 03
D 01 D 01
C-02 02 C 02
S-04 04 S 04
我追求的结果如下:
PNUM CNUM QTY
---- ---- ---
Z-01 C-02 14
X D 1
Q-03 Z-01 22
D S-04 9
基本上,我根据 TB1.P=LUT2.RNUM AND TB1.PR=LUT2.RREV 和 TB1.C=LUT2.RNUM AND TB1.PR 查找并返回 PNUM 的 LUT2.CATNUM 和 CNUM 的 LUT2.CATNUM =LUT2.RREV
任何想法我应该如何解决这个问题?在这里,准确性优先于效率。
【问题讨论】:
-
使用您指定的 ON 谓词加入 LUT2 两次。
标签: sql sql-server join lookup