ACCESS不同字段分组

清晨曦月 元老
博客专家认证
2015-05-15 09:31:58
有一个表:

在4个字段里面都有教师ID,想统计这4个字段里面出现过的教师ID都有哪些,咋办?

结果就像下面表示的,只有一个字段

教师ID
3
4

...全文
366 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tiger_Zhao 2015-05-20
  • 打赏
  • 举报
回复
因为你[7、8节教师ID]都是空,当然不存在“4个字段里面出现过的教师ID”了。
清晨曦月 元老 2015-05-19
  • 打赏
  • 举报
回复
额。。。。。。。。。 SELECT 教师ID FROM ( SELECT DISTINCT [1、2节教师ID] AS 教师ID, 1 AS 节 FROM 总课程表 WHERE [1、2节教师ID] IS NOT NULL UNION ALL SELECT DISTINCT [3、4节教师ID] AS 教师ID, 3 AS 节 FROM 总课程表 WHERE [3、4节教师ID] IS NOT NULL UNION ALL SELECT DISTINCT [5、6节教师ID] AS 教师ID, 5 AS 节 FROM 总课程表 WHERE [5、6节教师ID] IS NOT NULL UNION ALL SELECT DISTINCT [7、8节教师ID] AS 教师ID, 7 AS 节 FROM 总课程表 WHERE [7、8节教师ID] IS NOT NULL ) AS T; 就是我要的结果了。加上count没结果。。。。
Tiger_Zhao 2015-05-18
  • 打赏
  • 举报
回复
设计不合理。查询还得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;
  • 打赏
  • 举报
回复
你为什么不能设计成老师ID+课程类型Type呢?
清晨曦月 元老 2015-05-16
  • 打赏
  • 举报
回复
额,如果用一个字段,那显示总表的时候就直接按课节编号字段分组就行了啊。。。。还真是。。。
threenewbee 2015-05-15
  • 打赏
  • 举报
回复
首先你的表设计就不合理 非要这么做就 select * from table group by 字段1 +字段2 + 字段3
清晨曦月 元老 2015-05-15
  • 打赏
  • 举报
回复
说明一下,用的ACCESS。。。。。

16,549

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧