C# 如何根据表2的条件从表1中进行选择

C# 如何根据表2的条件从表1中进行选择,c#,sql,C#,Sql,我有两张桌子: Teachers : teacher_id teacher_name ============= Timetable: tt_id tt_teacher_id tt_term_id tt_day_id tt_hour_id ===================================== 我想要2个类型SQL选择查询: 1) (此查询用于选择教师并设置为组合框)选择时间表中具有特殊参数的记录中不存在的教师名称 tt_term_id=parameter1 tt_d

我有两张桌子:

Teachers  : 
teacher_id
teacher_name
=============

Timetable:
tt_id
tt_teacher_id
tt_term_id
tt_day_id
tt_hour_id
===================================== 我想要2个类型SQL选择查询:

1) (此查询用于选择教师并设置为组合框)选择时间表中具有特殊参数的记录中不存在的教师名称

tt_term_id=parameter1
tt_day_id  =parameter2
tt_hour_id=parameter3
tt_term_id=parameter1
tt_day_id  =parameter2
tt_hour_id=parameter3
tt_teacher_id !=parameter4
根据时间表表中的上述条件,教师姓名来自教师表。 2) 选择时间表中带有特殊参数的记录中不存在的教师名称

tt_term_id=parameter1
tt_day_id  =parameter2
tt_hour_id=parameter3
tt_term_id=parameter1
tt_day_id  =parameter2
tt_hour_id=parameter3
tt_teacher_id !=parameter4
根据时间表表中的上述条件,教师姓名来自教师表。
非常感谢

您可以根据教师id加入表格,并使用您想要的任何条件

SELECT DISTINCT teacher_id, teacher_name
FROM Teachers
INNER JOIN Timetable
ON teacher_id = tt_teacher_id
WHERE tt_term_id = parameter1
AND tt_day_id  = parameter2
AND tt_hour_id = parameter3
ORDER BY teacher_name
另一个是你可以自己想出的:-)

如果您希望教师没有任何时间表记录,则可以执行以下操作:

SELECT DISTINCT teacher_id, teacher_name
FROM Teachers
LEFT JOIN Timetable
ON teacher_id = tt_teacher_id
WHERE tt_id is NULL
ORDER BY teacher_name