对于Ex:有两个表:
在教师表中,包含教师的详细信息
Teacher_Id   Teacher_Name<br/>
1         Akshay<br/>
2         Rohan<br/>
3         Suresh<br/>
4         Naresh<br/>
在学生表中,它包含学生的详细信息
Student_Id   Student_Name  Teacher_Id  Marks<br/>
1        Abhi        1        50<br/>
2        Kumar        2        28<br/>
3        Rahul        2        90<br/>
4        Mohan        4        39<br/>
5        Anil        3        51<br/>
6        Jack        4        38<br/>
7        Daniel        2        78<br/>
8        Arun        3        66<br/>
9        Mark        1        43<br/>
10        Mukesh        4        99<br/>
如你所见,一个老师与多个学生联系在一起。我想选择那些所有学生都通过考试的老师(及格分数为40)。例如:Teacher_Id=2的老师与3个学生分别获得28、90、78分。这里是28分的学生考试不及格。所以,我们不会选择那个老师。我们不会选择那些即使有一个学生得分低于40分的老师。我们必须选择那些所有学生得分超过40分的老师。
我们可以在这里使用条件聚合:
SELECT
t.Teacher_Name,
t.Teacher_Id
FROM Teacher t
INNER JOIN Student s
ON t.Teacher_Id = s.Teacher_Id
GROUP BY
t.Teacher_Name,
t.Teacher_Id
HAVING
COUNT(CASE WHEN s.Marks < 40 THEN 1 END) = 0;
另一个选项使用<code>EXISTS</code>:
SELECT
t.Teacher_Name,
t.Teacher_Id
FROM Teacher t
WHERE NOT EXISTS (SELECT 1 FROM Student s
WHERE t.Teacher_Id = s.Teacher_Id AND s.Marks < 40);
问题内容: 我有以下数据: 对于每组记录(按ParentID分组),我想查找所有没有包含“ A”作为数据值的记录的组。 由于第1组和第6组确实包含至少一个以“ A”作为数据值的记录,因此我不希望看到它们。我只想查看记录4和5(它们是组4的一部分),因为该组中没有记录带有“ A”。 任何帮助是极大的赞赏! 问题答案: 如果表很大,建议建立索引。
我需要国家列表,其中没有城市或地方,这意味着所有的城市或地方的国家是空的或空的。不要国家,如果国家的一个记录有城市或地方价值。
首先,我知道这个查询有点混乱,但它可以正常工作,直到至少有一条记录存在,并且设置为true,此时没有返回任何记录。如果有另一条记录的设置为false或两者的组合,则它可以正常工作,即返回的记录的所有票证总数都设置为0或适当的值。 我已将查询更新为,并将票证表联接更改为left(也尝试了full outer),但它仍然存在上述问题。 为什么会发生这种情况,我能做些什么来防止它?
我正在寻找一种方法,以获得所有的DNS记录的网址<有没有一种方法可以在没有任何库的情况下使用C#实现这一点?
问题内容: 我有一张下表 我想选择所有item_id,其中表中具有该item_id的每条记录的状态均为A。 例如,如果记录是这样的: 那么我唯一会回来的item_id是2。 问题答案:
问题内容: 我有一个包含ID,WorkerID,IsActive标志(1或0)和LocalTime的表。每次工作人员处于活动状态或不活动状态时,都会使用WorkerID,1或0标志记录以及一个时间(LocalTime)创建一条记录。 我想插入一个新表中:从该表中,对于每个唯一的WorkerID,仅当该记录的IsActive标志为1时,才为该唯一的WorkerID选择具有最新LocalTime的记录