繁体   English   中英

oracle sql数据透视选项

[英]oracle sql pivoting options

我有一个查询

它给出以下输出

在此处输入图片说明

这是一个示例数据。 我已经标记了包含相同手机号码的两行。 如果有相同的移动电话号码,我想执行以下操作:将行合并为一个行及其对应的数据。 我怎样才能做到这一点?

您可以使用LISTAGG analytic function来执行此操作。 可以在此处找到有关它(以及实现结果的其他方法)的好技巧。

让我尝试画一个简化的解决方案。 可以说您的查询看起来像这样-我不喜欢加入where子句=)

select gsm.mobile_no, sgcp.name as "charge name"
from service.gsm gsm
join charge.gsm_charge_plan sgcp
on sgcp.service_code = gsm.code;

然后你可以做类似的事情

SELECT gsm.mobile_no, 
LISTAGG(sgcp.name, ',') WITHIN GROUP (ORDER BY sgcp.name) AS "charge names"
from service.gsm gsm
join charge.gsm_charge_plan sgcp
on sgcp.service_code = gsm.code
GROUP BY gsm.mobile_no;

您可以尝试-按gsm.mobile_no分组?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM