Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Oracle 11g złączenie dwóch tabel
Forum PHP.pl > Forum > Bazy danych > Oracle
pawelkowina
Proszę o pomoc w związku z łączeniem dwóch tabel w Oracle 11g.
W pierwszej tabeli mam dane ogólne a w drugiej znajdują się szczegóły.
Pobierając jeden wiersz z tabeli a powtarzam go kilka razy bo szczegóły w tabeli b są w kilku wierszach.
Złączenie musi odbywać się po dwóch kolumnach z każdej z tabel o różnych nazwach, czyli łączymy po dwóch parach kolumn.

Mam coś takiego:

  1. SELECT a.company,
  2. a.reference_serie reference_serie,
  3. a.reference_number reference_number,
  4. ?
  5. b.order_no,
  6. b.order_type,
  7. ?
  8. FROM tabela_A a LEFT OUTER JOIN tabela_B b ON
  9. a.reference_number = b.order_no
  10. AND a.reference_serie = b.order_type


ale to nie działa niestety tak jak powinno. Złączenie to działa tylko przy połączeniu po jednej kolumnie z każdej tabeli. Nie potrafię tego tak zapisać aby były uwzględniane oba warunki.

Schemat działania powinien wyglądać mniej więcej tak:

Tabela A:

reference_serie reference_number ? ?
A 100
A 200
B 100


Tabela B:

Order_no order_type Date quantity
A 100 2012-05-01 10
A 100 2012-08-20 210
B 100 2012-05-01 1
B 100 2012-07-12 45
B 100 2012-08-01 12
B 100 2012-09-01 10


Oczekiwany wynik select-a:

reference_serie reference_number ? ? Order_no order_type Date quantity
A 100 ? ? A 100 2012-05-01 10
A 100 ? ? A 100 2012-08-20 210
A 200 ? ? null null null null
B 100 ? ? B 100 2012-05-01 1
B 100 ? ? B 100 2012-07-12 45
B 100 ? ? B 100 2012-08-01 12
B 100 ? ? B 100 2012-09-01 10
mmmmmmm
Coś namieszałeś... Napisałeś:
from tabela_A a LEFT OUTER JOIN tabela_B b ON
a.reference_number = b.order_no
and a.reference_serie = b.order_type
(co jest prawidłowe)
Ale tabele przedstawiłeś inaczej, czyli:
Order_no order_type Date quantity
A 100 2012-05-01 10
i
reference_serie reference_number … …
A 100
Więc w myśl powyższego zapytania usiłujesz połączyć reference_number 100 z order_no A oraz reference_serie A z order_type 100...
Może to jest ten błąd?
webdice
Proszę w przyszłości używać odpowiednich tagów bbcode.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.