比如我有个字段存的值是:121,54,1,3,11,12
然后我要用字符串“121,31,15,23”里面的每个元素和上面字段的某个元素相等,就返回这条记录。该怎么写呢?这里就是元素“121”是匹配,就返回这条记录。

解决方案 »

  1.   

    在MYSQL中?
    拆分字符串,再连接
      

  2.   

    能否帮忙把SQL写出来呢。这个数据很多。一次要查N多条。
      

  3.   

    建议用程序解决,LSB1,字段ID,内容1-10000
    SELECT a2.b1 FROM (
    SELECT *,SUBSTRING_INDEX(
    SUBSTRING_INDEX(a1.ss,',',b.id),',',-1) AS b1
     FROM (SELECT '121,54,1,3,11,12' AS Ss FROM DUAL) a1 LEFT JOIN zz.lsb1 b
    ON (LENGTH(a1.ss)-LENGTH(REPLACE(a1.Ss,',','')))+1>=b.id) a2
    INNER JOIN (
    SELECT *,SUBSTRING_INDEX(
    SUBSTRING_INDEX(a1.ss,',',b.id),',',-1) AS b2
     FROM (SELECT '121,31,15,23' AS Ss FROM DUAL) a1 LEFT JOIN zz.lsb1 b
    ON (LENGTH(a1.ss)-LENGTH(REPLACE(a1.Ss,',','')))+1>=b.id) a3
    ON b1=b2
      

  4.   


    字段存的值是:121,54,1,3,11,12 这个是值哟。SQL里面应该把他变成一个字段吧。直接把这个“121,54,1,3,11,12"改成字段名可以吗?
      

  5.   

    可以,用SQL语句拆分,效率不高