我想检查是否所有的链接项目都是一个指定的值。我不知道如何正确地解释它,但在我看来,这个例子是相当不言自明的。
示例数据库(简化)
Table Groups
PK_Groups int
Groupname varchar
Table Person
PK_Person int
Name varchar
isAdult tinyint(1)
FK_Groups int
我怎样才能检查哪些组只有成年人(1查询返回所有组)?有没有办法在SQL中做,还是我必须做"手动"?
先谢了
SELECT PK_Groups
FROM Groups
INNER JOIN Person on PK_Group = FK_Groups
WHERE isAdult = 0
在哪里不起作用,因为有一些是成年人
然后按名字分组,并检查成人是否也不工作,因为它在组内
计算每个组的非成年人数量是可行的(如果计数〈= 0),但仅适用于每个组,而不是同时适用于所有组
1条答案
按热度按时间sg24os4d1#
检查每组
isAdult
的最小值,如果他们都是成年人,最小值为1。请注意,这不是测试集合中所有值是否都是特定值的常用方法,它仅在您尝试检查的值是可能的最大值时有效(您也可以通过将
MIN()
更改为MAX()
来测试最小值)。更一般的条件可通过以下方式进行测试: