Запрос со справочной таблице при объединении строк - 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.