Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.009 c
6-1225222273
SKIPtr
2008-10-28 22:31
2010.09.12
Изменения файла в интернете


4-1239990492
KiLLiR
2009-04-17 21:48
2010.09.12
Печать изображения в ScrollBox


15-1276585131
brother
2010-06-15 10:58
2010.09.12
Любителям zx-spectrumа: видео...


11-1196527644
Byka (345-824-826)
2007-12-01 19:47
2010.09.12
помогите с Lazarus?


15-1276415015
AKE
2010-06-13 11:43
2010.09.12
Какое правильно "перевести"...




   Наверх