使用 CHARINDEX 查找其他列中的值始终返回 1 条记录



我有一个简单的表格

Location, PartNo, LookupPart

我正在尝试查找查找部分中存在的部件号。有点像 excel Vlookup,除了我需要在 SQL 中进行近似和进行其他计算。

我正在使用

    SELECT Part_No
    FROM Part_tbl 
    WHERE CHARINDEX(PartNo,LookupPart)>0 

PartNo和LookupPart都是VARCHAR。

我返回了 1 条记录。 但是,如果我使用:

     SELECT Part_No
     FROM Part_tbl 
     WHERE CHARINDEX('538',LookupPart)>0 

我得到 10+ 条以"538"开头或包含"538"的记录

我错过了什么?

也许这就是你想要的?

SELECT Part_No
FROM Part_tbl t1
WHERE EXISTS (select 1 from Part_tbl t2 WHERE CHARINDEX(t1.PartNo,t2.LookupPart)>0)

最新更新