Главная страница
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.013 c
2-1276611901
john-s
2010-06-15 18:25
2010.09.12
Не читает данные из файла


15-1276599769
12
2010-06-15 15:02
2010.09.12
mssql триггер, совсем забыл :(. Так правильно будет?


6-1214928416
kernel
2008-07-01 20:06
2010.09.12
IdHTTPProxyServer и размер ресурса


15-1276680436
xayam
2010-06-16 13:27
2010.09.12
Сколько сфер на каждом уровне?


2-1276375219
AKE
2010-06-13 00:40
2010.09.12
Как получить координаты всех точек?