比较SQL中的逗号分隔字符串

Emp*_*air 6 sql t-sql database varchar sql-server-2008

我有来,在CDL搜索请求("1,2,3,4"),("1,5").我需要将它与另一个CDL进行比较并返回所有匹配的记录.踢球者是每个数字的位置并不总是相同.

我已经得到的东西,除了在那里我想匹配的实例几乎工作("2,5")("2,4,5").显然字符串不相等但我需要返回该匹配,因为它具有第一个CDL中的所有值.

我的SQL小提琴应该让它相当清楚......

任何帮助将非常感激.

哦,我看到这一个是类似的,但似乎有点激烈,在我的头上,但我会看看我能不能试着去了解它.

编辑
所以,我只是做了更换,以改变("2,5")("%2%5%"),改变了人使用LIKE.从我最初可以说它似乎工作.. SQL小提琴任何理由我不应该这样做或者也许我疯了,它根本不起作用?

ljh*_*ljh 2

更进一步,更接近您的答案。
SQL FIDDLE 演示


SELECT P.* 
FROM Product P
CROSS APPLY(
  SELECT *
  FROM ShelfSearch SS
  WHERE Patindex(char(37)+replace(ss.shelflist, ',',char(37))+char(37),p.shelflist) > 0
)Shelfs
Run Code Online (Sandbox Code Playgroud)