Chinaunix
标题:
请教SQL 查询语句 (多行字段 变成一行显示结果)
[打印本页]
作者:
Tiere
时间:
2010-08-04 10:00
标题:
请教SQL 查询语句 (多行字段 变成一行显示结果)
假设 我有一张表,内容如下:
p_sn mo_sn kp_sn
11 888 K001
11 888 K002
11 888 K003
22 888 K011
22 888 K012
22 888 K013
33 888 KKK1
33 888 KKK2
66 888 22XX
66 888 23X2
.....
我怎么写查询语句,才能得到如下的查询结果?
11 888 K001 K002 K003
22 888 K011 K012 K013
33 888 KKK1 KKK2
66 888 22XX 23X2
....
需要用到什么函数? 或者大致的思路,各位能否提供一下给我啊~~~谢谢
作者:
renxiao2003
时间:
2010-08-04 11:22
本帖最后由 renxiao2003 于 2010-08-04 11:25 编辑
先根据p_sn 这个分组,然后确定在p_sn 下的mo_sn是一样的(不会出现两个,或者出现两个两行显示)。然后的处理……
我用存储过程写过行列变换的,你这个属于部分变换。但用SQL语句,难度大,没试过 。
作者:
Tiere
时间:
2010-08-04 15:39
头疼~~~ 折腾一天了
作者:
Tiere
时间:
2010-08-04 19:52
我实现了这个效果:
select p_sn,mo_sn,wmsys.wm_concat(kp_sn)
from 表
where mo_number='1601022' group by serial_number;
结果:
p_sn mo_sn kp_sn
11 888 K001,K002,K003
22 888 K011,K012,K013
33 888 KKK1,KKK2
66 888 22XX,23X2
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2