有一个表:

在4个字段里面都有教师ID,想统计这4个字段里面出现过的教师ID都有哪些,咋办?
结果就像下面表示的,只有一个字段
教师ID
3
4
------解决思路----------------------
首先你的表设计就不合理
非要这么做就 select * from table group by 字段1 +字段2 + 字段3
------解决思路----------------------
你为什么不能设计成老师ID+课程类型Type呢?
------解决思路----------------------
设计不合理。查询还得4组转成1组。
SELECT 教师ID
FROM (
SELECT DISTINCT [1、2节教师ID] AS 教师ID, 1 AS 节 FROM 表1 WHERE [1、2节教师ID] IS NOT NULL
UNION ALL
SELECT DISTINCT [3、4节教师ID] AS 教师ID, 3 AS 节 FROM 表1 WHERE [3、4节教师ID] IS NOT NULL
UNION ALL
SELECT DISTINCT [5、6节教师ID] AS 教师ID, 5 AS 节 FROM 表1 WHERE [5、6节教师ID] IS NOT NULL
UNION ALL
SELECT DISTINCT [7、8节教师ID] AS 教师ID, 7 AS 节 FROM 表1 WHERE [7、8节教师ID] IS NOT NULL
) AS T
GROUP BY 教师ID
HAVING COUNT(节) = 4;