SQL Query в связанных таблицах
От: Yukon Украина  
Дата: 06.03.02 11:21
Оценка:
Ниже представлены два запроса одинаковых по условиям но разных по описанию входных таблиц. Но один работает, т.е. возвращает корректные данные, а второй возвращает пустую таблицу.

Структура базы:
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
Re: SQL Query в связанных таблицах
От: Yukon Украина  
Дата: 06.03.02 11:34
Оценка:
Самое главное — ВОПРОС!!!
Как исправить неработающий запрос так что-бы он возвращал данные работающего запроса?

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

Т.к. в дальнейшем будут создаваться запросы с параметрами использующими данные связанных таблиц.
Re[2]: SQL Query в связанных таблицах
От: Toughpheeckouse Россия  
Дата: 06.03.02 11:54
Оценка:
Здравствуйте Yukon, Вы писали:

(b.ID = c.ID_MES) (b.ID = d.ID_MES) у тебя эти условия точна выполняются хоть раз?
те в Doplatа есть сылка на Mes и Uders есть ссылка на тотже Mes??
если это не так тогда у тебя связь 0:1 к * тогда делай LEFT JOIN... вроде в этом проблема...
Думайте сами, решайте сами...
Re: SQL Query в связанных таблицах
От: Yukon Украина  
Дата: 07.03.02 11:06
Оценка:
Спасибо всем за активность. Теперь все Ок. :))
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.