在线等,急求sql语句转成oracle。

Yan_nis 2016-11-01 05:06:23
领导脑子被门夹了,好好的数据库要转成oracle,然后本宝宝自己写的有一小段sql语句也不知道怎么转,不怎么熟悉oracle,也希望能学习一下。我觉得最主要的问题可能就是内置函数
好了上截图

图上传不了。。。
放sql server语句

with t as (select s.GroupName,c.Mobile,c.Email,c.UserName from dbo.SysGroup as s
inner join dbo.Customers as c on c.GroupId=s.Id)
SELECT NEWID() as Id, GroupName,
STUFF(
(
SELECT ','+ Mobile FROM t a WHERE b.GroupName = a.GroupName FOR XML PATH('')
),1 ,1, '') Mobile,
STUFF(
(
SELECT ';'+ Email FROM t a WHERE b.GroupName = a.GroupName FOR XML PATH('')
),1 ,1, '') Email,
STUFF(
(
SELECT ','+ UserName FROM t a WHERE b.GroupName = a.GroupName FOR XML PATH('')
),1 ,1, '') UserName
FROM t b
GROUP BY GroupName

焦灼的很啊!
...全文
325 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
卖水果的net 2016-11-02
  • 打赏
  • 举报
回复
NEWID() 用 sys_guid 代替 FOR XML PATH('') ,可以换成 listagg 函数
mayanzs 2016-11-02
  • 打赏
  • 举报
回复
试试 with t as (select s.GroupName,c.Mobile,c.Email,c.UserName from dbo.SysGroup as s inner join dbo.Customers as c on c.GroupId=s.Id) SELECT trunc(dbms_random.value(1,9999999999)) as Id, GroupName, wm_concat(Mobile) Mobile,wm_concat(Email) Email,wm_concat(UserName) UserName FROM t GROUP BY GroupName
js14982 2016-11-01
  • 打赏
  • 举报
回复
我就看出来你的+号改成||,||在oracle中是连接符。其他召唤水果大神@卖水果的net

17,082

社区成员

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

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