【发布时间】:2012-01-08 22:38:26
【问题描述】:
我创建了一个名为 tbl_timesheet_hours 的数据库表,如下所示:
timesheet_no
work_order_no
work_order_date
work_order_hours
表格中的数据填充为:
timesheet_no work_order_no work_order_date work_order_hours
4 NTS0026B 2012-01-02 1
4 NTS0031B 2012-01-02 9
4 NTS0031B 2012-01-03 8
4 NTS0031B 2012-01-04 7
4 NTS0031B 2012-01-05 6
4 NTS0031B 2012-01-06 5
4 NTS0031B 2012-01-07 4
4 NTS0031B 2012-01-08 3
我需要创建一个查询,该查询将构成时间表报告的基础,该报告可以以典型承包商的时间表格式打印,即它将在第一列中显示 work_order_no 字段,然后是为每个字段分配的小时数天。我创建的查询是:
SELECT
work_order_no,
switch(Format(work_order_date,'ddd') = "Mon", SUM(work_order_hours)) AS [Mon],
switch(Format(work_order_date,'ddd') = "Tue", SUM(work_order_hours)) AS [Tue],
switch(Format(work_order_date,'ddd') = "Wed", SUM(work_order_hours)) AS [Wed],
switch(Format(work_order_date,'ddd') = "Thu", SUM(work_order_hours)) AS [Thu],
switch(Format(work_order_date,'ddd') = "Fri", SUM(work_order_hours)) AS [Fri],
switch(Format(work_order_date,'ddd') = "Sat", SUM(work_order_hours)) AS [Sat],
switch(Format(work_order_date,'ddd') = "Sun", SUM(work_order_hours)) AS [Sun]
FROM tbl_timesheet_hours
WHERE timesheet_no=4
GROUP BY work_order_date, work_order_no;
查询产生以下结果集,
work_order_no Mon Tue Wed Thu Fri Sat Sun
NTS0026B 1
NTS0031B 9
NTS0031B 8
NTS0031B 7
NTS0031B 6
NTS0031B 5
NTS0031B 4
NTS0031B 3
是否可以重组查询以产生以下结果集?
work_order_no Mon Tue Wed Thu Fri Sat Sun
NTS0026B 1
NTS0031B 9 8 7 6 5 4 3
我们将不胜感激任何类型的帮助。谢谢。
【问题讨论】:
-
数据本身是存储在 ms-access 中,还是您在 ms-access 中使用 SQL-Server 数据源?
标签: sql ms-access ms-access-2003