Вопросы При Объединений Таблиц

  • Автор темы Andronis
  • Дата начала
A

Andronis

#1
Здравствуйте, уважаемые! Подскажите пожалуйста с выполнением запросов:
есть база

Необходимо найти названия всех маршрутов с указанием общего количества пассажиров, по каждому маршруту?
Как я делаю, я выбираю через левое внешнее объединение все маршруты и получается, что в одной базе результирующая таблица получается правильной, количество пассажиров верное, а в другой, где я не могу просмотреть данные, выбирает более меньшее количество и не правильные маршруты?
Вот сам мой запрос:
Код:
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
 

-master-

Well-known member
14.01.2012
616
12
#2
1. Тут надо делать inner, left тут ни с какого боку.

Добавлено: Второй вопрос не понял, что к чему... первый селект понятен, а чтоделаетвторой и на кой он нужен ..?