我有下面的代码工作并带回 OEMPartNumber。我的问题是 OEMSubNumber。正如您在表中看到的那样,我无法像我在 sql 中所做的那样匹配 OEMSubNumber。我必须将 OEMSubNumber 与 OEMPartNumber 匹配,然后返回 OEM 项目。我该怎么做?
正在工作的sql
UPDATE a
SET a.AMIPartNumber = c.Item
FROM imports as a
INNER JOIN jdsubs as b
ON a.OEMPartNumber = b.OEMPartNumber
INNER JOIN amipartnumbers as c
ON b.OEMPartNumber = c.OEMItem
这是我的表格布局
imports
----------------
OEMPartNumber | AMIPartNumber
AR77530 |
AR12345 |
JDSubs
---------------------------
OEMPartNumer | OEMSubNumber
AR65123 | AR77530
AR12345 | AR56242
AMI
---------------------------
Item | OEMItem | Description
AMAR65123 | AR65123 | Axle
AMAR56242 | AR12345 | Spindle
更新
我把这个工作得很好!
UPDATE imports
SET imports.AMIPartNumber = coalesce(apn.Item,asn.Item)
FROM imports as I
LEFT JOIN jdsubs as PN ON I.OEMPartNumber = PN.OEMPartNumer
LEFT JOIN amipartnumbers as APN ON PN.OEMPartNumer = APN.OEMItem
LEFT JOIN jdsubs as SN ON I.OEMPartNumber = SN.OEMSubNumber
LEFT JOIN amipartnumbers as ASN ON SN.OEMPartNumer = ASN.OEMItem
;
select
*
from imports