带有 LIKE 和前缀的内部连接



A 中的 ITEM1 和表 B 中的 B-ITEM1,我想将它们连接起来,以便 A-ITEM1 = 带有内部连接的 B-ITEM,因为它们是同一件事,只是前缀不同。任何帮助将不胜感激。

/*My scripts*/
SELECT TOP 50
    A.ITEMNMBR AS 'Item Number',                    
    A.QTYONHND AS 'Quantity On Hand'    
    FROM [NSR].dbo.[IV00102] A
    INNER JOIN [ART].dbo.[IV00101] B
    ON A.ITEMNMBR = B.ITEMNMBR
ORDER BY A.ITEMNMBR

/该部件的问题在于NSR数据库中的项目编号为NSR-ITEM1,对于ART数据库,项目编号= ART-ITEM1/

/我希望结果显示...因为是同一项目/ ITEMNMBR QTYONHND NSR-项目1 12 艺术项目1 12

您可以在ON子句中使用字符串函数。

也许这个会有所帮助。

 ON REPLACE(A.ITEMNBR, 'NSR-', 'ART-') = B.ITEMNBR

这将通过将NSR-ITEM1等值转换为ART-ITEM1来"修复"这些值。然后可以测试它们的平等性。

但是,需要明确的是,这不是解决您问题的好方法。它很脆弱,因为您可能有不遵循NSR-whatever模式的ITEMNBR值。这些将不匹配。

最新更新