求大神一条sql语句!!谢谢啦。
示申○言舌 2019-02-27 11:17:23
我做一个异步加载的树,需求是这样的。
当查询一个节点的所有孩子节点时,如果这个孩子节点还有孩子节点,就返回 state 为 close,并且 iconCls为icon-branch,否则就返回 state 为 open,并且iconCls为icon-man
我的语句这么写的:
SELECT id,name, IF(isTreeHasChild(id), 'close', 'open') AS state, IF(isTreeHasChild(id),'icon-branch','icon-man') AS iconCls FROM branch WHERE parent=id;
其中,isTreeHasChild是我自己写的一个mysql函数。用来检测这个branch表中指定的ID有没有孩子。
问题是,上面的语句中,调用了两次IsTreeHasChild函数,就是说同样的判断干了两次。。请问大神,有没有一种只判断一次的写法???