去一级标签

先看一张图:

需求:

找出这张表(class)中标签所有state=0的标签,但是如果有二级标签,就不显示其一级,只显示所有没有二级标签的一级标签一级所有的二级标签。

SELECT * from class where id NOT in (SELECT pid FROM class WHERE pid>0) AND state=1

SELECT * from class where id not in (SELECT DISTINCT pid from class WHERE pid>0) AND state=1

只存在二级标签,无三级标签的情况下(推荐使用前面的方法),具体也是需要考虑实际情况,自己酌情处理

select pid from class group by pid //按pid分组,会得到两组结果,0和117 ,只适合两级标签
posted @ 2018-09-13 10:02  郑叶叶  阅读(354)  评论(0编辑  收藏  举报