欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

关于一个简略的sql查询

更新时间: 2014-01-05 02:14:33 责任编辑: Author_N1

 

关于一个简单的sql查询
id        传真编号    传真标题 传真内容 发送时间 发送人 
1 20130917001 aaa1 测试1       2013/9/17          张三
2 20130917002 aaa2 测试2       2013/9/17          李斯
3 20130917003 aaa3 测试3       2013/9/17          王五
4 20130917004 aaa4 测试4       2013/9/17          李斯
5 20130917005 aaa5 测试5       2013/9/17          张三
6 20130917006 aaa6 测试6       2013/9/17          张三
(注:"发送人"列实际为引用用户表的主键user_id,为表达明白直接写用户名)
此表为传真发送记录表,需求:如何通过一条sql统计出每个人发送的传真信息?  
统计结果如下:
用户 传真号
张三 20130917001
20130917005
20130917005

李斯 20130917002
20130917004

王五 20130917003
--参考方法--
怎么个统计法  这是表示一行 还是三行 就第一行有人名 下面用空代替么?

张三 20130917001 20130917005 20130917005

or 

张三 20130917001
null    20130917005
null    20130917005
--参考方法--
listaag行吗?你这个 WM_CONCAT也可以,分析函数就能搞定。或者按字段都写出来出查询。
--参考方法--
如下三个函数都可以实现:
sys_connect_by_path 9i中就可以使用
wm_concat 10g以上才可以使用
listagg 11gR2才可以使用
--参考方法--
支持楼上的正解
with a as
(
select '20130917001' as czbh,'张三' as fsr from dual union all 
select '20130917002' as czbh,'李斯' as fsr from dual union all 
select '20130917003' as czbh,'王五' as fsr from dual union all 
select '20130917004' as czbh,'李斯' as fsr from dual union all
select '20130917005' as czbh,'张三' as fsr from dual union all  
select '20130917006' as czbh,'张三' as fsr from dual 
)
select wm_concat(czbh),fsr from a group by fsr
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:14:33
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/7419/
本文WWW.DOC100.NET DOC100.NET版权所有。