开发者社区 问答 正文

求高手帮助:sql查询语句 [MYSQL DB]

TABLE : NET_DEVINCEINFO FILED : INSTANCEID,PARENTINSTANCEID

需求, 从 NET_DEVINCEINFO 表中查询出INSTANCEID,PARENTINSTANCEID 字段,并判断本行 INSTANCEID 是否在所有 PARENTINSTANCEID 中有 存在。 存在就显示100 ,不存在显示 101。(因为这个和树有关系,必须判断他是否还有子节点)

展开
收起
长安归故里. 2020-01-07 21:20:01 1064 分享 版权
1 条回答
写回答
取消 提交回答
  • 方式1: selec A.INSTANCEID,A.PARENTINSTANCEID, (case when exists (when select 1 from NET_DEVINCEINFO B where B.PARENTINSTANCEID=A.INSTANCEID) then 100 else 101 end ) as isLeaf from NET_DEVINCEINFO A

    方式2: select A.INSTANCEID,A.PARENTINSTANCEID,(case when count(B.INSTANCEID) >0 then 100 else 101 end) as isLeaf from NET_DEVINCEINFO A left outer join NET_DEVINCEINFO B On A.INSTANCEID=B.PARENTINSTANCEID

    2020-01-07 21:20:09
    赞同 展开评论