hilpers


  hilpers > comp.* > comp.bazy-danych

 #1  
24.01.2006, 15:12
Łukasz Andrejczuk
Witam.

Spotkałem się z następującym interesującym przypadkiem, że kolejność
joinowanych widokow wplywa na liczbe rekordów w wyniku.

Chyba tak nie może być?

Stosując FULL OUTER JOIN na widokach (jeden zdalny) otrzymuje dziwne efekt,
mianowicie ilość rekordów zmienia się w zależności od kolejności
join-owania, czyli w zalezności od tego czy tabela zdalna jest
pierwsza czy druga.

Moje zapytania:
1.
select t1.table_name, t2.table_name
from user_tables t1
full outer join user_tables@REMOTE_BASE t2 on t1.table_name =
t2.table_name

2.
select t1.table_name, t2.table_name
from user_tables@REMOTE_BASE t1
full outer join user_tables t2 on t1.table_name = t2.table_name

gdzie @REMOTE_BASE to Database Link na zdalna bazę.

Przy pkt 1. mnoży dodatkowo rekordy x 2 z widoku user_tables@REMOTE_BASE
daje 199 rekordow

Przy pkt 2. wychodzi standardowy left outer join daje 99 rekordów

Wersja obu baz taka sama baz:
Oracle Database 10g Enterprise Edition Release 10.1.0.2.0

ale mogą być różne języki systemu operacyjnego.
 #2  
24.01.2006, 15:20
Noel
Użytkownik Łukasz Andrejczuk napisał:

[..]
>
> Przy pkt 1. mnoży dodatkowo rekordy x 2 z widoku
> user_tables@REMOTE_BASE daje 199 rekordow
>
> Przy pkt 2. wychodzi standardowy left outer join daje 99 rekordów
>
> Wersja obu baz taka sama baz:
> Oracle Database 10g Enterprise Edition Release 10.1.0.2.0
>
> ale mogą być różne języki systemu operacyjnego.


No, ten drugi jak pomnoży 99 przez 2 to otrzyma 199. Pewnie Windows.
Te dwa zapytania dadzą identyczne wyniki, tylko gdy te tabele będą
identyczne pod względem zawartości.
Podobne wątki
LEFT OUTER JOIN

Witam grupe mam prosbe o mala pomoc z zapytaniem SQL - co jest nie tak w zapytaniu: SELECT obr.nrzam, obr.nrpoz, nag.klient, obr.nazwa, obr.ilosc, obr.datazam, obr.status,...

[Oracle] OUTER JOIN

Zauważyłem różnicę przy wykonywaniu zapytania w 8i (9i) oraz w 10g. W 8i: SQL> select version from v$instance 2 / VERSION ----------------- 8.1.7.4.0 SQL> select rownum,...

outer join

Witam mam następujący problem - jak w accessie połączyć dwie tabele, tak żeby z pierwszej pojawiły się wszystkie rekordy a z drugiej tylko te które pasują? Wydawało mi się,...

Cos szybszego zamiast takiego "full outer join" ?

Witam, Wracam do pytania sprzed jakiegoś czasu dotyczącego dość dziwnego połączenia trzech tabel w jeden "widok". Tym razem jednak bardziej konkretnie. Jest sobie w...

[PostgreSQL] Full Outer Join

Piotr 'piter' Hlawski wrote: > Czy da się jakoś w przypadku złączenia dwóch tabel FULL OUTER JOIN w > miejsca gdzie wpada NULL podać jakis konkretny text? Np. 'N/A' select...


Czasy w strefie GMT. Teraz jest 18:58. | Privacy Policy