当前位置: 代码迷 >> VB Dotnet >> ACCESS不同字段分组解决方案
  详细解决方案

ACCESS不同字段分组解决方案

热度:174   发布时间:2016-04-25 02:02:01.0
ACCESS不同字段分组
有一个表:

在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;
  相关解决方案