Select из двух "одинаковых" таблиц - MySQL
Формулировка задачи:
Помогите, люди добрые...
СУБД - MariaDB 10.1.19.
Есть БД. В БД меня интересуют 2 таблицы - input и output в которых регистрируется въезжающий и выезжающий автотранспорт соответственно. И всё бы ничего, но у меня не получается составить select для отчёта въезда-выезда транспорта. Мой селект (он ужасен,я знаю):
В итоге время выезда для машин с одинаковым госномером одно и тоже - первая соответствующая госномеру запись в колонке date_out. Как поправить, господа знатоки? Перепробовал всяческие джойны и юнионы, но всё без толку. Помогите пожалуйста, а? Могу предложить скромное вознаграждение...))). Ниже скрины таблиц и выполнения самого селекта. Заранее благодарю.
SELECT car_in, reg_numb_in, pass_numb_in, date_in, date_out FROM INPUT, output, main WHERE reg_numb_in = reg_numb_out GROUP BY date_in;
Решение задачи: «Select из двух "одинаковых" таблиц»
textual
Листинг программы
SELECT car_in, reg_numb_in, pass_numb_in, date_in, date_out FROM INPUT, output WHERE reg_numb_in = reg_numb_out AND date_in < output.date_out GROUP BY date_in;
Объяснение кода листинга программы
Код выполняет запрос к двум одинаковым
таблицам, с целью выбрать данные из этих таблиц по определенным условиям. Вот список действий, которые выполняются в этом коде:
SELECT
- указывает, какие столбцы нужно выбрать из таблицы.car_in, reg_numb_in, pass_numb_in, date_in, date_out
- перечисляет столбцы, которые нужно выбрать.FROM INPUT, output
- указывает, из каких таблиц нужно выбрать данные.WHERE reg_numb_in = reg_numb_out
- добавляет условие, что выбираются только те строки, где значение в столбцеreg_numb_in
равно значению в столбцеreg_numb_out
.AND date_in < output.date_out
- добавляет еще одно условие, что выбираются только те строки, где значение в столбцеdate_in
меньше значения в столбцеdate_out
.GROUP BY date_in
- группирует результаты по значению в столбцеdate_in
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д