+ -
当前位置:首页 → 问答吧 → mysql 数据分行

mysql 数据分行

时间:2011-06-29

来源:互联网

表结构为:
create table t1 
( id int,
  txt varchar(50),
  pid varchar(30)
)
表中的数据如下:
id txt pid
1 aaa
2 bbb 1
3 ccc 2,1


期望得到下面的数据结构,即把pid用“,”分隔的id分别列出来:

id pid
3 2
3 1
2 1
1 null

请高手登场。

作者: willy2358   发布时间: 2011-06-29

SELECT *,SUBSTRING_INDEX(
SUBSTRING_INDEX(a1.pid,',',b.id),',',-1)
 FROM t1a a1 LEFT JOIN zz.lsb1 b
ON (LENGTH(a1.pid)-LENGTH(REPLACE(a1.pid,',','')))+1>=b.id
ORDER BY a1.id DESC
LSB1:字段ID,内容 1-100000

作者: WWWWA   发布时间: 2011-06-29

相关阅读 更多