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

Get all elements which have both values grouped by ParentId

我有以下问题:

我有这样的关系 table:

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

sequelize 中的答案可能很好但不是必需的

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

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

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

HAVING COUNT(DISTINCT "ValueID")=2

最好的问候,Bjarni