请教以下oracle问题?

调活 2015-09-19 01:17:09
select /*+ parallel(a,8) */ a.identityid,a.createtime LAST_LOGIN_TIME,
(case when accounttype = 2 then accountname end) EMAIL,
(case when accounttype = 3 then accountname end) TELEPHONE,
from fileinter.TB_D_USECENTER_ACCOUNT_INFO a where a.identityid='305840012'
group by a.identityid,a.createtime,(case when accounttype = 2 then accountname end),(case when accounttype = 3 then accountname end)


表中数据结构是这样
identityid createtime accountname accounttype
123 sysdate jiaxiuya 1
123 sysdate 123123 2

我想合并成下面这样
identityid createtime EMAIL TELEPHONE
123 sysdate jiaxiuya 123123


请问上述语句如何修改?
...全文
158 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
调活 2015-09-19
  • 打赏
  • 举报
回复
引用 2 楼 ytoms 的回复:
WITH TT AS (SELECT '123' AS A, 'sysdate' AS B, 'jiaxiuya' AS C, 1 AS D FROM DUAL UNION ALL SELECT '123' AS A, 'sysdate' AS B, '123123' AS C, 2 AS D FROM DUAL) SELECT A, B, MAX(CASE WHEN D = 1 THEN C END) AS EMAIL, MAX(CASE WHEN D = 2 THEN C END) AS PHONE FROM TT GROUP BY A, B
非常感谢,数据库新手
惑先生 2015-09-19
  • 打赏
  • 举报
回复
WITH TT AS
(SELECT '123' AS A, 'sysdate' AS B, 'jiaxiuya' AS C, 1 AS D
FROM DUAL
UNION ALL
SELECT '123' AS A, 'sysdate' AS B, '123123' AS C, 2 AS D FROM DUAL)
SELECT A, B, MAX(CASE WHEN D = 1 THEN C END) AS EMAIL, MAX(CASE WHEN D = 2 THEN C END) AS PHONE
FROM TT
GROUP BY A, B


调活 2015-09-19
  • 打赏
  • 举报
回复
我只能想到这样解决 select identityid, LAST_LOGIN_TIME, wmsys.wm_concat(a.email) email, wmsys.wm_concat(a.telephone) telephone from (select /*+ parallel(a,8) */ a.identityid,a.createtime LAST_LOGIN_TIME, (case when accounttype = 2 then accountname end) EMAIL, (case when accounttype = 3 then accountname end) TELEPHONE, from fileinter.TB_D_USECENTER_ACCOUNT_INFO a where a.identityid='305840012' group by a.identityid,a.createtime,(case when accounttype = 2 then accountname end), (case when accounttype = 3 then accountname end))b group by identityid LAST_LOGIN_TIME

17,088

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧