获取所有具有按 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
我有以下问题:
我有这样的关系 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