Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Łączenie dwoch tabel
Forum PHP.pl > Forum > Bazy danych > MySQL
tomaszowy
Witam forumowiczów. Mam nadzieje, ze ktos mi jest wstanie pomoc w tej sprawie bo brakuje mi juz pomyslow
Posiadam na SQL dwie tabele produkcyjne(Wejscie, Wyjscie). W pierszwszej znajdują się informacje ile materialu zostalo pobrane do zlecenia produkcyjnego, a w drugiej ile wyprodukowane do danego zlecenia.

Nie było by tu nic trudnego gdyby nie fakt, że jest to system trzyzmianowy. Np Zmiana 1 pobiera material natomiast nie zdazy nic wyprodukowac, przychodzi do pracy zmiana 2 i nic nie pobrala, ale za to wyprodukowala z materialu pobranego przez zmiane 1

I tak gdy zastoasuje Left Inner Join każda pozycja z lewej tabeli zostanie wyświetlona w wyniku, nawet jeśli nie ma tych samych wyników w prawej tabeli, ale nie dziala to juz w druga strone. Prosze o pomoc

Poniżej zapytanie


SELECT dbo.Wejscie.Data, dbo.Wejscie.rok, dbo.Wejscie.miesiac, dbo.Wejscie.Dzien, dbo.Wejscie.Linia, dbo.Wejscie.Zlecenie, dbo.Wejscie.Zmiana, dbo.Wejscie.Wejscie, dbo.Wyjscie.Wyjscie
FROM
dbo.Wejscie LEFT OUTER JOIN
dbo.Wyjscie ON dbo.Wejscie.Zlecenie = dbo.Wyjscie.Zlecenie AND
dbo.Wejscie.Wejscie = dbo.Wyjscie.Wyjscie AND
dbo.Wejscie.Data = dbo.Wyjscie.Data AND
dbo.Wejscie.ROK = dbo.Wyjscie.Rok AND
dbo.Wejscie.miesiac = dbo.Wyjscie.Miesiac AND
dbo.Wejscie.Dzien = dbo.Wyjscie.Dzien AND
dbo.Wejscie.Zmiana = dbo.Wyjscie.Zmiana AND
dbo.Wejscie.Linia = dbo.Wyjscie.Linia
Pilsener
Z tego co zrozumiałem potrzebujesz FULL OUTER JOIN, ponieważ mysql go nie obsługuje (i nie wiadomo kiedy zacznie) radzę się przesiąść na inną bazę lub poszukać emulatorów full outer joina pod mysql, n. tego:
http://en.wikipedia.org/wiki/Join_%28SQL%29#Full_outer_join
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.