【发布时间】:2011-04-03 04:13:57
【问题描述】:
目前我有一个查询,它返回父记录的父数据,这些父记录的子表记录的子集等于某些值。但是,我想将其缩小为仅返回具有特定值的子记录的父记录,但这些父记录是属于给定父记录的唯一子记录,或者子记录的数量不超过给定总数。
这是一个示例查询,它只能让我到达我需要到达的地方的一半:
SELECT parent.item1, parent.item2, parent.index
FROM parent
INNER JOIN child on parent.index = child.index
WHERE child.value IN (11111111, 33333333)
GROUP BY parent.item1, parent.item2, parent.index
HAVING COUNT(child.value) = 2
不幸的是,该查询返回的任何父母的数据都具有包含在“IN”语句中的已识别值的子集。我只想要其总子记录不超过某个数量的父记录的父记录数据(或者,在我的情况下,不要超过“IN”语句中的值的数量。有没有简单的方法来完成这个?
【问题讨论】:
标签: sql mysql sql-server