Я создал таблицу базы данных с именем 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
Любая помощь будет принята с благодарностью.Спасибо.