想用SQL语句实现如下功能,我觉得挺难的,有劳高手了A表 用于存储 一级大类,其中 ID 为大类ID,sID 为存储的下级子类ID,sID 存储的格式为 1,12,16 等等,这个1还是当前这个ID的值B表 用于存储具体的信息 其中主要字段有cID,sNAME,cID就是A表分离出的12  16 ....等等,sNAME 是具体的分类的名称;现在就是想要 从A表中 将ID为10的 sID 分离出来,然后从B 表中 列出sNAME如何能将这个 1,12,16 像字符截取那样 不要这个1 只要 12 和 16 是关键。求教了。

解决方案 »

  1.   

    mysql> select substring('1,10,16',instr('1,10,16',',')+1);
    +---------------------------------------------+
    | substring('1,10,16',instr('1,10,16',',')+1) |
    +---------------------------------------------+
    | 10,16                                       |
    +---------------------------------------------+
    1 row in set (0.00 sec)
      

  2.   


    参考下贴中利用正则表达式实现方法。
    http://blog.csdn.net/acmain_chm/article/details/4141864