Запрос со справочной таблице при объединении строк - MySQL
Формулировка задачи:
Пишу запрос:
Как сделать так, что бы вместо id_voditeli, отображались данные со справочной таблицы voditeli.name
SELECT group_concat(distinct id_voditeli) as id_voditeli, date, SUM(hours) as SUM FROM worked_hours WHERE id_tehnika=5 GROUP BY date
Решение задачи: «Запрос со справочной таблице при объединении строк»
textual
Листинг программы
FROM worked_hours JOIN voditeli ON worked_hours.id_voditeli = voditeli.id_voditeli
Объяснение кода листинга программы
- В данном коде происходит объединение (JOIN) двух таблиц:
worked_hours
иvoditeli
. - Для объединения используется условие равенства идентификаторов в обеих таблицах:
worked_hours.id_voditeli = voditeli.id_voditeli
. - Результатом объединения будет новая таблица, в которой будут все строки из таблицы
worked_hours
и соответствующие им строки из таблицыvoditeli
. - В запросе не указано, какие именно столбцы из таблиц нужно выбрать. По умолчанию будут выбраны все столбцы из обеих таблиц.
- Если в таблицах есть столбцы с одинаковыми названиями, то в результирующей таблице будут сохранены только значения из последней таблицы (в данном случае из таблицы
voditeli
). - Для получения конкретных столбцов из таблиц необходимо добавить их названия после ключевого слова
SELECT
. - Пример запроса с выбором определенных столбцов:
SELECT worked_hours.hours_worked, voditeli.name FROM worked_hours JOIN voditeli ON worked_hours.id_voditeli = voditeli.id_voditeli
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д