oracle的wmsys.wm_concat函数 和(+)连接转成sqlserver2005的
from tm_role r, tm_role_user_r ru
where ru.role_id = r.role_id(+)
group by ru.user_id 展开
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
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这个条件是什么,这个条件我上面的那个语句怎么整合呢?谢谢了啊,我是初学者
2015-11-12
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
广告 您可能关注的内容 |