有一张表 qqqq
数据结构为
a    b   
1    a1
2    a2
3    a3
4    a4
5    a5
6    a6要查询的数据为
a1,a2,a3,a9,a10,a5,a12怎么样用存储过程返回a9,a10,a12

解决方案 »

  1.   

    mysql> set @str='a1,a2,a3,a9,a10,a5,a12';
    Query OK, 0 rows affected (0.00 sec)mysql> set @str=concat(',',@str,',');
    Query OK, 0 rows affected (0.00 sec)mysql>
    mysql> select @str:=replace(@str,concat(',',b,','),','),a,b
        -> from qqqq;
    +-------------------------------------------+------+------+
    | @str:=replace(@str,concat(',',b,','),',') | a    | b    |
    +-------------------------------------------+------+------+
    | ,a2,a3,a9,a10,a5,a12,                     |    1 | a1   |
    | ,a3,a9,a10,a5,a12,                        |    2 | a2   |
    | ,a9,a10,a5,a12,                           |    3 | a3   |
    | ,a9,a10,a5,a12,                           |    4 | a4   |
    | ,a9,a10,a12,                              |    5 | a5   |
    | ,a9,a10,a12,                              |    6 | a6   |
    +-------------------------------------------+------+------+
    6 rows in set (0.00 sec)mysql>
    mysql>
    mysql> select @str;
    +--------------+
    | @str         |
    +--------------+
    | ,a9,a10,a12, |
    +--------------+
    1 row in set (0.00 sec)mysql>
      

  2.   

    直接在你的PHP中用就行了。把四句合成一句提交。
    或者你把它改成存储过程就行了。