获取所有具有按 ParentId 分组的值的元素

问题描述 投票:0回答:1

我有以下问题:

我有一个像这样的关系表:

ParentId | ValueId
1          1   
1          2
2          3
2          4
2          1

然后,我想获取具有查询所要求的值的 ParentId,不多也不少。

我其实有这个疑问:

SELECT "ParentId" FROM public."ParentValueRelation"
WHERE "ValueId" = 1 AND "ValueId" = 2
GROUP BY "ParentId"

预计收到 1 但收到 null

续集中的答案可能很好,但不是必需的

postgresql sequelize.js
1个回答
2
投票

在 Postgres 中有多种方法可以做到这一点。 比如像这样:

SELECT "ParentId" FROM public."ParentValueRelation"
WHERE "ValueId" = 1 OR "ValueId" = 2
GROUP BY "ParentId"
HAVING COUNT("ValueID")=2

如果表中有重复项,则需要将having子句替换为

HAVING COUNT(DISTINCT "ValueID")=2
© www.soinside.com 2019 - 2024. All rights reserved.