免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 13318 | 回复: 3
打印 上一主题 下一主题

请教SQL 查询语句 (多行字段 变成一行显示结果) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-08-04 10:00 |只看该作者 |倒序浏览
假设 我有一张表,内容如下:

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
....

需要用到什么函数?  或者大致的思路,各位能否提供一下给我啊~~~谢谢

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
2 [报告]
发表于 2010-08-04 11:22 |只看该作者
本帖最后由 renxiao2003 于 2010-08-04 11:25 编辑

先根据p_sn 这个分组,然后确定在p_sn 下的mo_sn是一样的(不会出现两个,或者出现两个两行显示)。然后的处理……

我用存储过程写过行列变换的,你这个属于部分变换。但用SQL语句,难度大,没试过 。

论坛徽章:
0
3 [报告]
发表于 2010-08-04 15:39 |只看该作者


头疼~~~  折腾一天了

论坛徽章:
0
4 [报告]
发表于 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
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP