Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.01;
Скачать: [xml.tar.bz2];




Вниз

SQL Query в связанных таблицах 


YVaschuk   (2002-03-06 13:36) [0]

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

Структура базы:
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-06 13:59) [1]

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

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

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



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

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



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

inner -> left outer



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

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




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.01;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.021 c
3-16              vasilly               2002-03-06 10:01  2002.04.01  
Использование хранимых процедур MS SQL 7 + BDE!!!


1-231             Ivan_A                2002-03-20 16:30  2002.04.01  
как проверить что форма убита?


1-178             ПиВО!!                2002-03-18 22:40  2002.04.01  
Присвоение пунктам меню свои события...


6-268             Дремучий              2002-01-16 11:10  2002.04.01  
с чем едят тип TRASConn?


1-188             madburro              2002-03-18 23:15  2002.04.01  
Print