sql - 选择没有指针的对象

标签 sql database postgresql

我有 2 个名为 ContentStateHashedFile 的实体。 ContentState 的每条记录都有一个 HashedFile 链接到它,但关系不是唯一的,因此关于 ContentStateunique="false"not-null="true"(因此,2 个或多个 ContentState 记录可以指向相同的 HashedFile )。 我想做的是从数据库中删除一个 ContentState 并检查没有 ContentStates 连接到它们的 HashedFile 记录并删除那些也是。对此的 PostgreSQL 查询是什么?

表格列如下:

CONTENT_STATES:

id, hashedFileId

HASHED_FILES:

id

最佳答案

可以使用not exists构造

delete HASHED_FILES as hf
where
    not exists (select * from CONTENT_STATES as cs where cs.HashedFileId = h.Id) 

关于sql - 选择没有指针的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18286227/

相关文章:

mysql - SQL查询获取最近的交易日期

sql - 在编写 SQL 查询方面需要帮助

javascript - pg-promise 错误地将多边形插入到 postgis 数据库中

php - mysql 中 'KEY' 的用途是什么,它不允许我在 phpmyadmin 中编辑记录

mysql - 如何从 mysql 动态选择表

mysql - 发票表格设计

android - 请求 logcat 错误索引 -1,大小为 24

mysql - 如何查询blob数据

java - 无法在 native sql 查询中获取默认架构

C# 和 NpgsqlDataAdapter 返回单个字符串而不是数据表