簡體   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