要求结果:
userid 'flag' funcid funcname
a true 01 add
a true 02 del
a false 03 update
...全文
437打赏收藏
这个SQL语句怎么写,在线等待,谢谢了!
A表: userid funcid a 01 a 02 B表: funcid funcname 01 add 02 del 03 update 要求结果: userid 'flag' funcid funcname a true 01 add a true 02 del a false 03 update
SQL> select nvl(a.userid,(select userid from a where rownum=1)),(case when a.funcid=b.funcid then 'true' else
'false' end) flag,b.funcid,funcname from a,b where b.funcid=a.funcid(+);
NV FLAG FU FUNCNAME
-- ----- -- ----------
a true 01 add
a true 02 del
a false 03 update
SQL> select (case when a.funcid=b.funcid then 'true' else 'false' end) flag,b.funcid,funcname from (select * f
rom a where userid='a') a,b where b.funcid=a.funcid(+);
FLAG FU FUNCNAME
----- -- ----------
true 01 add
true 02 del
false 03 update
SQL> select (case when a.funcid=b.funcid then 'true' else 'false' end) flag,b.funcid,funcname from (select * f
rom a where userid='b') a,b where b.funcid=a.funcid(+);
FLAG FU FUNCNAME
----- -- ----------
true 01 add
true 02 del
true 03 update
select (case when a.usr_func_id=b.af_id and a.user_id=8
then 'true'
else 'false'
end) flag,
b.af_id,
b.af_func_name
from
re_wa_user_right a,
re_wa_adm_funclist b
where b.af_id=a.usr_func_id(+)
/