Гость
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как решить задачу sql? / 3 сообщений из 3, страница 1 из 1
18.07.2020, 15:02
    #39981287
Night_Harpy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как решить задачу sql?
есть две таблицы:

| id | name |
-------------
| 42 | John |

| 43 | Jane |

и вторая:

| id | employee_id | hours | date |
----------------------------------------
| 1 | 42 | 4.5 | 1/12/2020 |

| 2 | 42 | 7.0 | 2/12/2020 |

| 3 | 43 | 5.5 | 1/12/2020 |

| 4 | 43 | 6.0 | 2/12/2020 |

Нужно вывести все 7 дней недели, в таком виде:

| Monday | John (4.45 hours), Jane (7.54 hours), Alex (3.5 hours) |

выводятся только три человека с самыми большими часами работы в конкретный день.
Заранее спасибо.
...
Рейтинг: 0 / 0
18.07.2020, 18:41
    #39981348
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как решить задачу sql?
Это PIVOT. Только эмулировать...
...
Рейтинг: 0 / 0
20.07.2020, 12:29
    #39981746
artas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как решить задачу sql?
Night_Harpy,
Код: plsql
1.
2.
select if(DAYOFWEEK(date) = 1,'Monday','') as monday,
 if(DAYOFWEEK(date) = 1,hours ,0) as mondayHours


повторить 6 раз

далее
сгрупировать и просумировать
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как решить задачу sql? / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]