![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 20.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
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 Ten post edytował tomaszowy 21.12.2010, 20:03:28 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
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 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 11:06 |