A
Andronis
Здравствуйте, уважаемые! Подскажите пожалуйста с выполнением запросов:
есть база
Необходимо найти названия всех маршрутов с указанием общего количества пассажиров, по каждому маршруту?
Как я делаю, я выбираю через левое внешнее объединение все маршруты и получается, что в одной базе результирующая таблица получается правильной, количество пассажиров верное, а в другой, где я не могу просмотреть данные, выбирает более меньшее количество и не правильные маршруты?
Вот сам мой запрос:
Если выполняю запрос через полное объединение то результирующая таблица выводится правильно с одним но, появляется нулевая строка в поле name_route, которую убираю where r.name_route is not null и в результате получается, что запрос возвращает не правильные записи. Вот пример запроса:
и второй вопрос как правильно объединить вот эти два запроса в один, смысл в том чтобы вывести весь список из таблицы routes, если даже нет значений, там должен быть null, и те значения которые есть во второй части запроса?
есть база

Необходимо найти названия всех маршрутов с указанием общего количества пассажиров, по каждому маршруту?
Как я делаю, я выбираю через левое внешнее объединение все маршруты и получается, что в одной базе результирующая таблица получается правильной, количество пассажиров верное, а в другой, где я не могу просмотреть данные, выбирает более меньшее количество и не правильные маршруты?
Вот сам мой запрос:
Код:
select r.name_route,
sum (m.places) as people
from routes r
left outer join trips t on (r.cod_route = t.cod_route)
left outer join buses b on (t.cod_bus = b.cod_bus)
left outer join models m on (b.cod_model = m.cod_model)
group by r.name_route
Если выполняю запрос через полное объединение то результирующая таблица выводится правильно с одним но, появляется нулевая строка в поле name_route, которую убираю where r.name_route is not null и в результате получается, что запрос возвращает не правильные записи. Вот пример запроса:
Код:
select r.name_route,
sum (m.places) as people
from routes r
full join trips t on (r.cod_route = t.cod_route)
full join buses b on (t.cod_bus = b.cod_bus)
full join models m on (b.cod_model = m.cod_model)
where r.name_route is not null
group by r.name_route
и второй вопрос как правильно объединить вот эти два запроса в один, смысл в том чтобы вывести весь список из таблицы routes, если даже нет значений, там должен быть null, и те значения которые есть во второй части запроса?
Код:
select r.name_route,
t.cod_trip
from routes r
left outer join trips t on (r.cod_route = t.cod_route)
Код:
select r.name_route,
count (t.cod_trip)
from trips t
inner join routes r on (r.cod_route = t.cod_route)
where t.week_day between 6 and 7
group by r.name_route