oracle中使用sql语句进行遇到以下问题:
二、很多时候需要为查询结果加上单引号隔开,并用逗号隔开;方便以这个查询结果为条件过滤另外的信息。
select * from gzyt.jbpm4_id_membership hip inner join gzyt.jbpm4_id_group op on op.dbid_ = hip.group_
inner join gzyt.jbpm4_id_user er on er.dbid_ = hip.user_
where op.id_ in (select id_ from gzyt.jbpm4_id_group where name_ = 'XXX');
当我们需要拿到详细的op.id_时,我们就不能直接这样写,相反我们应该按照下面的方式将id_全部找出来进行过滤
select * from gzyt.jbpm4_id_membership hip inner join gzyt.jbpm4_id_group op on op.dbid_ = hip.group_
inner join gzyt.jbpm4_id_user er on er.dbid_ = hip.user_
where op.id_ in ('ecxg34343','35ewsdfsdgd','...');
这样我们就需要写一个查询将id查询来,并加上引号和用逗号隔开,
select id_ from gzyt.jbpm4_id_group where name_ = 'XXX'
这条查询显然不能为查询结果加上引号并用逗号隔开
那么问题来了
select ''''||id_||''''||',' from gzyt.jbpm4_id_group where name_ = 'XXX'
问题就解决了,但是最后一行中多了一个逗号 我们只要简单的把她删除就可以了