求大神一条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函数,就是说同样的判断干了两次。。请问大神,有没有一种只判断一次的写法???
...全文
123 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_44997311 2019-05-01
  • 打赏
  • 举报
回复
能留个联系方式吗?
lgjlry 2019-02-27
  • 打赏
  • 举报
回复
调用了两次是因为你写了两次呀,可以直接用sql找出所有的孩子节点
示申○言舌 2019-02-27
  • 打赏
  • 举报
回复
算求,用php搞定了。

56,687

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧