暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle Listagg返回多个值

askTom 2018-06-07
391

问题描述

你好,

我是写这种SQL的新手,我几乎有这个语句,但不是很熟悉。

我正在尝试使用listagg编写查询,并且当我有2位乘客时,在需求列中获得重复值。这是因为每位乘客可以有多种要求。所以我得到了本专栏中的所有要求。

我需要的是只给我不同的价值观。这可能吗?



选择s.run_id,run_refference,s.day,s.pickuplocation,s.arrival_time,s.dropofflocation,s.collection_time,contractlength,count(distinct p.serviceuser_id) 为 “乘客”,
listagg (要求,': ') 在组内 (由a.requirement_id订购) 作为 “要求”
从tran_run r,tran_schedule s,tran_serviceuserrequirement q,tran_passifers p,tran_requirement a
其中s.run_id = r.run_id
和服务用户标识 = q.服务用户标识
和r.run_id = p.run_id
和q.requirement_id = a.requirement_id
按运行标识、天、拾取位置、到达时间、dropofflocation、集合时间、合同长度分组
按s.run_id订购,天



样品出料:

运行 _ 参考日 _ 时间c _ 时间乘客要求
ED18周五08:50 16:00 2护送: 独自旅行
ED18周一09:00 15:00 2护送: 独自旅行
ED18周四09:00 15:30 2护送: 独自旅行
ED18星期二09:00 15:00 2护送: 独自旅行
ED22周五08:50 15:05 1护送: 独自旅行
ED22周一08:50 15:55 1护送: 独自旅行
ED22周四08:50 15:05 1护送: 独自旅行
ED22周二08:50 15:05 1护送: 独自旅行
ED22星期三08:50 15:55 1护送: 独自旅行
星期五10:00 15:00 1护送
RES23星期一10:00 15:00 1护送
星期四10:00 15:00 1护送
星期二10:00 15:00 1护送
星期三10:00 15:00 1护送


谢谢

专家解答

(当前) listagg不支持distinct子句,因此在应用listagg之前,您需要自己照顾一下。下面链接中的示例

https://asktom.oracle.com/pls/asktom/asktom.search?tag=listagg-not-giving-distinct-values
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论