有表A,表B,A数据如下:
class id
001  001,002,003
B数据如下
id  name
001  张三
002  李四
003  王五
现想通过一条sql语句,得到如下结果
001  张三,李四,王五
请问该怎么写,谢谢

解决方案 »

  1.   

    select class,wm_concat(name) from a,b where instr(a.id,b.id)>0 group by class;
      

  2.   

    instr(a.id,b.id)这句话是什么意思
      

  3.   

    大概知道意思了,但还是不明白为什么where条件可以这样写
      

  4.   


    where 条件后面也是可以跟一些较复杂的运算的,并不是只能 字段 = 值 这样单一的
    另外, 2 楼的方法在 b 表数据完整时是正确的,如果 a 表 id 中出现一个 b 表没有的 id 值,就会缺少数据
      

  5.   

    b表是基表,所以这个倒是不存在问题,刚才又想了下这个where,才算是彻底想明白了,哈,笨了点