oracle的wmsys.wm_concat函数 和(+)连接转成sqlserver2005的
发布网友
发布时间:2022-04-08 08:49
我来回答
共3个回答
热心网友
时间:2022-04-08 10:19
1. from tm_role r, tm_role_user_r ru
where ru.role_id = r.role_id(+)
这个其实就是 Left outer join
from tm_role_user_r ru left outer join tm_role r
on ru.role_id = r.role_id
2.wm_concat,这个用 stuff可以替代
-- 查询处理
--SQL2005中的方法2
create table tb(id int, value varchar(10))
insert into tb values(1, 'aa')
insert into tb values(1, 'bb')
insert into tb values(2, 'aaa')
insert into tb values(2, 'bbb')
insert into tb values(2, 'ccc')
go
select id, [values]=stuff((select ','+[value] from tb t where id=tb.id for xml path('')), 1, 1, '')
from tb
group by id
热心网友
时间:2022-04-08 11:37
from tm_role r, tm_role_user_r ru
where ru.role_id = r.role_id(+)
这个其实就是 Left outer join
from tm_role_user_r ru left outer join tm_role r
on ru.role_id = r.role_id
wm_concat,这个用 stuff可以替代,我给你复制一段,你自己看看:
-- 查询处理
--SQL2005中的方法2
create table tb(id int, value varchar(10))
insert into tb values(1, 'aa')
insert into tb values(1, 'bb')
insert into tb values(2, 'aaa')
insert into tb values(2, 'bbb')
insert into tb values(2, 'ccc')
go
select id, [values]=stuff((select ','+[value] from tb t where id=tb.id for xml path('')), 1, 1, '')
from tb
group by id
追问兄弟,你那个stuff里面的where id=tb.id这个条件是什么,这个条件我上面的那个语句怎么整合呢?谢谢了啊,我是初学者
热心网友
时间:2022-04-08 13:11
1. from tm_role r, tm_role_user_r ru
where ru.role_id = r.role_id(+)
这个其实就是 Left outer join
2. from tm_role_user_r ru left outer join tm_role r
on ru.role_id = r.role_id
wm_concat,这个用 stuff可以替代,我给你复制一段,你自己看看:
-- 查询处理
--SQL2005中的方法2
create table tb(id int, value varchar(10))
insert into tb values(1, 'aa')
insert into tb values(1, 'bb')
insert into tb values(2, 'aaa')
insert into tb values(2, 'bbb')
insert into tb values(2, 'ccc')
go
select id, [values]=stuff((select ','+[value] from tb t where id=tb.id for xml path('')), 1, 1, '')
from tb
group by id