Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

SQL Query в связанных таблицах [D5, Paradox]


YVaschuk ©   (2002-03-06 13:36:00) 

Ниже представлены два запроса одинаковых по условиям но разных по описанию входных таблиц. Но один работает, т.е. возвращает корректные данные, а второй возвращает пустую таблицу.

Структура базы:
Main
|
Mes--Doplata
|_Uders

Не работающий запрос:
SELECT a.*
FROM Main a
INNER JOIN Mes b
ON (a.ID = b.ID_MAIN)
INNER JOIN Doplata c
ON (b.ID = c.ID_MES)
INNER JOIN Uders d
ON (b.ID = d.ID_MES)
WHERE ( (a.FACULTET = 2) )
ORDER BY a.FAMI, a.KOD

Работающий запрос:
SELECT a.*
FROM Main a
INNER JOIN Mes b
ON (a.ID = b.ID_MAIN)
WHERE ( (a.FACULTET = 2) )
ORDER BY a.FAMI, a.KOD


YVaschuk   (2002-03-07 13:59:00) [1]

Спасибо всем за активность. Теперь все Ок.


boogier   (2002-03-07 11:30:00) [2]

inner -> left outer


Praco   (2002-03-06 14:32:00) [3]

В одной из таблиц (Doplata ,Uders ) нет записей, соответствующих предыдущей выборке. Используй внешние объединения.


YVaschuk   (2002-03-06 13:59:00) [4]

Самое главное - ВОПРОС!!!
Как исправить неработающий запрос так что-бы он возвращал данные работающего запроса?

Ответ типа - удали:
INNER JOIN Doplata c
ON (b.ID = c.ID_MES)
INNER JOIN Uders d
ON (b.ID = d.ID_MES)
не подходит.

Т.к. в дальнейшем будут создаваться запросы с параметрами использующими данные связанных таблиц.


Наверх

Титульная страница Поиск, карта сайта Написать письмо