有句SQL语句看不懂求帮忙解释下 select SMODULE_ID id,SMODULE_NAME text,SMODULE_URL url,SICON iconCls, decode((select count(1) from T_SM_MODULE m1 where SPAR_MODULE_ID=m2.SMODULE_ID),0,1,0) leaf from T_SM_MODULE m2 ------解决方案--------------------
decode((select count(1) from T_SM_MODULE m1 where SPAR_MODULE_ID = m2.SMODULE_ID), 0, 1, 0) 子查询,查找主查询中以每条记录的SPAR_MODULE_ID为SMODULE_ID的记录条数,如果条数为0则返回1,否则返回0 ------解决方案-------------------- decode类似于case when的逻辑 decode((select count(1) from T_SM_MODULE m1 where SPAR_MODULE_ID=m2.SMODULE_ID),0,1,0) 相当于 case when (select count(1) from T_SM_MODULE m1 where SPAR_MODULE_ID=m2.SMODULE_ID)=0 then 1 else 0 end