postgresql数据库查询 parent_id > 0 则不显示parent_id关联的那条记录
时间: 2024-03-03 21:48:25 浏览: 101
可以使用以下 SQL 语句实现:
```sql
SELECT *
FROM your_table
WHERE parent_id = 0 OR parent_id IS NULL;
```
这样可以查询出所有 parent_id 为 0 或者为空的记录,从而达到不显示 parent_id 关联的那条记录的目的。其中,parent_id IS NULL 是为了处理 parent_id 字段为 NULL 的情况。
相关问题
postgresql数据库表结构 id,parent_id,name parent_id关联id 查询时 parent_id > 0 则不显示parent_id关联的那条父级记录
可以使用以下 SQL 语句实现:
```sql
SELECT t1.*
FROM your_table t1
LEFT JOIN your_table t2 ON t1.parent_id = t2.id
WHERE t1.parent_id = 0 OR t2.parent_id IS NULL;
```
这里使用了自连接的方式,将表自身连接两次,然后在 WHERE 子句中过滤出 parent_id 为 0 或者其对应的父级记录不存在的记录。其中,t2.parent_id IS NULL 是为了处理 parent_id 字段为 NULL 的情况。
需要注意的是,这种方式比较消耗性能,如果数据量比较大,建议在表中增加一个字段记录每条记录的层级关系,这样查询的性能会更好。
阅读全文