sql-server - 如何选择列中相同且大于2的值
问题描述
我需要选择所有教授超过 2 门课程的教职员工。这需要在 WHERE 子句中的子查询中完成,并且需要从 Course 表中完成。这是一些SQL文件。我没有包含一个具有 'ae' 的 varchar 值的附加表来缩短问题。
CREATE TABLE Faculty
(Faculty_ID VARCHAR(2),
LastName VARCHAR(20),
FirstName VARCHAR(20),
Department VARCHAR(20),
Campus VARCHAR(10));
INSERT INTO Faculty VALUES ('1', 'Bloomberg', 'Mike', 'Business', 'Kent');
INSERT INTO Faculty VALUES ('2', 'Smith', 'Adam', 'Economics', 'Kent');
INSERT INTO Faculty VALUES ('3', 'Shakespeare', 'Bill', 'English', 'South');
INSERT INTO Faculty VALUES ('4', 'Euler', 'Lynn', 'Math', 'Deerwood');
INSERT INTO Faculty VALUES ('5', 'Einstein', 'Al', 'Science', 'South');
CREATE TABLE Course
(Course_ID CHAR(2),
Ref_Number CHAR(5),
Faculty_ID VARCHAR(2),
Term VARCHAR(2),
Enrollment INTEGER,
TotRev FLOAT );
INSERT INTO Course VALUES ('1', '12345', 'a', 'A', 24, 12345.00 );
INSERT INTO Course VALUES ('2', '54321', '3', 'B', 18, 21435.00 );
INSERT INTO Course VALUES ('3', '13524', '1', 'B', 7, 1256.00 );
INSERT INTO Course VALUES ('4', '24653', '1', 'C', 29, 54421.00 );
INSERT INTO Course VALUES ('5', '98765', '5', 'A', 35, 246753.00);
INSERT INTO Course VALUES ('6', '14862', '2', 'B', 14, 9876.00);
INSERT INTO Course VALUES ('7', '96032', '1', 'C', 8, 863159.00);
INSERT INTO Course VALUES ('8', '81256', '5', 'A', 5, 98762.00);
INSERT INTO Course VALUES ('9', '64321', '2', 'C', 23, 2965.00);
INSERT INTO Course VALUES ('10','90908', 'a', 'A', 45, 91724.00);
INSERT INTO Course VALUES ('11','90908', '3', 'A', 23, 73725.00);
INSERT INTO Course VALUES ('12','90908', '3', 'A', 16, 84224.00);
INSERT INTO Course VALUES ('13','90908', 'b', 'A', 13, 42719.00);
到目前为止,我的查询是您在下面看到的...
SELECT FirstName, LastName, Faculty.Faculty_ID
FROM Faculty JOIN Course
ON Faculty.Faculty_ID = Course.Faculty_ID
WHERE Faculty.Faculty_ID /**/
(SELECT Faculty.Faculty_ID /**/
FROM Course)
解决方案
如果这必须在WHERE
子查询中完成,您可以执行以下操作:
SELECT F.Faculty_ID,
F.LastName,
F.FirstName,
F.Department,
F.Campus
FROM dbo.Faculty F
WHERE (SELECT COUNT(*)
FROM dbo.Course C
WHERE C.Faculty_ID = F.Faculty_ID) > 2;
推荐阅读
- javascript - 数据验证来自不同值列表的多项选择
- sql-server - 带有立即更新的事务复制 - 发布者触发器在立即更新时触发,或者不复制它们的修改
- sql-server - 由于主键约束导致的 T-SQL 存储过程异常
- neo4j - 我似乎无法缩短查询时间
- javascript - 语义 UI + 未定义数据的反应问题
- python - Python - 同一类中的函数参数类类型
- python - 比较 Pandas 中的当前行和上一行
- database - 如何从文本框保存到 WPF VB.net 中的 MSAccess 数据库记录
- c# - 这两种方法的行为是否相同?
- java - 简单的@Modifying - @Query 问题 Spring JPA