解决方案 »

  1.   

    经过测试,下面的SQL是可以得到3条记录的。
    SELECT arc.id,arc.title FROM `dede_archives` arc
    LEFT JOIN `dede_member` mem ON arc.id IN(175,23,358)
    WHERE mem.mid=1但这下面的语句175,23,358加上引号只能得到一条记录,跟上面的使用SUBSTRING_INDEX(mem.aid,',',3)得到的结果一致
    SELECT arc.id,arc.title FROM `dede_archives` arc
    LEFT JOIN `dede_member` mem ON arc.id IN('175,23,358')
    WHERE mem.mid=1
      

  2.   

    SELECT arc.id,arc.title FROM `dede_archives` arc
    LEFT JOIN `dede_member` mem ON find_in_set(arc.id ,SUBSTRING_INDEX(mem.aid,',',3))
    WHERE mem.mid=1
      

  3.   

    FIND_IN_SET(arc.id,SUBSTRING_INDEX(mem.aid,',',3))
      

  4.   

    结帖,感谢两位版本。我想到FIND_IN_SET了,没想到这样用,自己对mysql不懂,有点