Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.09.12;
Скачать: CL | DM;

Вниз

2 запроса в Firebird 1.5   Найти похожие ветки 

 
DROWSY   (2010-06-12 19:43) [0]

В таблице Main есть два внешних ключа (D1, D2) к таблице Dep.

Объясните пожалуйста, почему запросы:

1.

select  поля Main,поля Dep, поля Dep1
from Main

 inner join Dep        on (Main.D1   = Dep.code)
 inner join Dep  Dep1  on (Main1.D2  = Dep1.code)


и
2.

select  поля Main,поля Dep, поля Dep1
from Main

inner join Dep  Dep1  on (Main1.D2  = Dep1.code)
inner join Dep        on (Main.D1   = Dep.code)



дают разные результаты?


 
turbouser ©   (2010-06-12 19:49) [1]


> DROWSY   (12.06.10 19:43)  

Потому что использовать алиасы надо правильно!
В FB2 вообще запретили смешивать использование запросов с алиасами и без. И это правильно.


 
Anatoly Podgoretsky ©   (2010-06-12 19:57) [2]

Но он утверждает, что они были исполнены, а не запрещены.
Но конечно алиасы надо использовать, только потом можно о чем то говорить.  И конечно смотреть планы.


 
DROWSY   (2010-06-12 19:59) [3]

Спасибо!

(странно, что IBExpert, хотя бы warring не даёт)


 
turbouser ©   (2010-06-12 20:01) [4]


> DROWSY   (12.06.10 19:59) [3]
>
> Спасибо!
>
> (странно, что IBExpert, хотя бы warring не даёт)
>

Ничего странного. В FB1.5 еще было можно.


 
DROWSY   (2010-06-12 20:01) [5]


> Anatoly Podgoretsky ©   (12.06.10 19:57) [2]
> Но он утверждает, что они были исполнены, а не запрещены.
>

Да, они исполняются, но с "нужными" результатами только 2-ой.


 
DROWSY   (2010-06-12 20:18) [6]

В случае 2), видимо, второй алиас создаётся планировщиком "по умолчанию",
а в 1)-ом соединение
inner join Dep  Dep1  on (Main.D2  = Dep1.code)
вообще игнорируется.


 
DROWSY   (2010-06-12 20:21) [7]

Так:
select  поля Main,поля Dep, поля Dep1
from Main

inner join Dep  Dep1  on (Main.D1  = Dep1.code)
inner join Dep  Dep2  on (Main.D2  = Dep2.code)


замечательно работает.

Ещё раз, спасибо, turbouser.



Страницы: 1 вся ветка

Текущий архив: 2010.09.12;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.037 c
2-1276607756
ixen
2010-06-15 17:15
2010.09.12
Как закрыть программу в окне авторизации?


15-1276633802
Юрий
2010-06-16 00:30
2010.09.12
С днем рождения ! 16 июня 2010 среда


15-1276782358
12
2010-06-17 17:45
2010.09.12
с формы исчезли все компоненты ADO в дизайн тайме


2-1276727283
TechnoDreamer
2010-06-17 02:28
2010.09.12
Zoom в TWebBrowser (обработка мыши)


15-1276725671
Кто б сомневался
2010-06-17 02:01
2010.09.12
Php проверка перед submit