sql - 使用数据透视表显示学生出勤率
问题描述
我正在使用 SQL 'Pivot' 每月显示学生出勤率,但面对Error Invalid column name 'DayValue'. Invalid column name 'Stu_Status'
.
M 使用以下 SQL 查询
Select
StudentID, Stu_Status, DAY([AttandanceDate]) as [DayValue]
From tbl_Students_Attandance as studAttd
PIVOT (Max([Stu_Status])
FOR [DayValue] IN ([1], [2], [3], [4],[5], [6], [7], [8], [9],
[10], [11], [12], [13], [14],[15], [16], [17], [18], [19],
[20], [21], [22], [23], [24],[25], [26], [27], [28], [29],[30])
) AS Piviottable;
使用下表设计
达到以下结果 所需的结果图片
解决方案
您可以改用条件聚合:
select StudentID, max(case when day(AttandanceDate) = 1 then Stu_Status end) as [1],
. . .
from tbl_Students_Attandance as studAttd
group by StudentID;
但是,我怀疑这也需要提及year()
以匹配当前year
和month
出勤率。
推荐阅读
- angular - angular7应用程序和wordpress应用程序中的.htaccess问题
- java - 为什么我的代码在多次函数调用后泄漏内存?类加载器有问题吗?
- django - 我无法启动 Django 本地服务器
- java - JMS消息重投
- python - 如何在 Dataframe 下进行隐蔽?用于清理此 Datafram 的 Join
- kubernetes - 在 k8s centos7 裸机集群上重新创建部署/Pod 后,服务不允许访问 Pod 的流量:没有到主机的路由
- filter - 当字段值四舍五入时,ag-grid 数字过滤器不起作用
- python - 使用 tck = interpolate.bisplrep(x, y, z, kx=kx, ky=ky) 使用 x 和 y 值数组获取 z 值
- string - 返回一个数组
? 在科特林 - javascript - 处理 document.location (href) 更改