SQL匹配行

时间:2016-06-10 06:55:38

标签: mysql sql

我无法匹配其他表中的值并获取相应的值。我有两个表,一个是产品表,另一个是表2,我需要将第二个表中的部分号与第一个表的数量相匹配并获得SKU。 问题是OE Number是一堆数字,我需要使用像instr这样的东西。例如,表格如下所示。

产品表

 OeNum       |     SKU             
123-546-625  |     A001         
568-623-855  |     A002     

部分表

PArtid
 623
 625

例如,我需要检查OENUM中的任何行是否有像部件号一样的字符串,如果有一行返回SKU。在上面的示例中,partid 623位于第二行的oenumber中,因此它返回值

partID   |   SKU
  623    |   A002
  625    |   A001

我使用的查询为:

select s.sku, p.id 
from sk s, part p 
where instr(s.oenum,p.id)>0;

但它似乎没有起作用。

请帮忙。

1 个答案:

答案 0 :(得分:0)

如果表格中没有非常多的数据,我可以为您提供以下内容:

select s.sku, p.id from sk s join  part p on s.oenum like '%'+p.id+'%'