Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z LEFT JOIN
Forum PHP.pl > Forum > Bazy danych > Oracle
SeN
Witam
Próbuje stworzyć sobie raporcik zeby ułatwić sobie życie tylko nie bardzo mi to wychodzi.
Potrzebuje stworzyć zapytanie które wyświetli mi wszystkich klientów oraz kwote faktury jaka zaostała im wystawiona w danym miesiącu.

No i problem jest w tym że nie bardzo chcą mi wyświetlić się wszycy, pojawiają tylko ci dla których wystawione były faktury. Gdzie tkwi problem ?
Moje zapytanie wygląda tak:
  1. SELECT kl_kod "Kod",
  2. kl_skrot "Odbiorca",
  3. dok_kwota "kwota BRUTTO"
  4. FROM ckk_klienci_akt JOIN ckk_cechy_klientow ON ck_kl_kod = kl_kod
  5. LEFT JOIN kgt_dokumenty ON DOK_KL_KOD_pod = kl_kod
  6. WHERE ck_ce_id = ( SELECT ce_id FROM ckk_cechy WHERE ce_nazwa = 'ODBIORCA CIEPŁA') AND dok_rdok_kod = ( SELECT RDOK_KOD FROM css_rodzaje_dokumentow WHERE rdok_kod = 'FC') AND TRUNC(dok_data_transakcji, 'MM') = TRUNC(:p_data_transakcji, 'MM')


Czy problem jest w klauzulach WHERE ? Jeśli tak to jak to ominąc ?
pest
Kiepska sprawa, skoro nawet nie wiadomo jakie kolumny są z której tabeli...
SeN
Wiem że z tabelami jest lipa, i jest ich multum, ale tak ktoś sobie to wymyslił i trzeba się z tym bawić

Po napisaniu postu przyszło oświecenie czarodziej.gif
I powstało coś takiego
  1. SELECT dok_numer_wlasny "Nr faktury",
  2. kl_kod "Kod",
  3. kl_skrot "Odbiorca",
  4. dok_kwota "Kwota Brutto"
  5. FROM ckk_klienci_akt LEFT JOIN (SELECT DOK_KL_KOD_pod , dok_numer_wlasny ,dok_kwota FROM kgt_dokumenty WHERE dok_rdok_kod = (SELECT RDOK_KOD FROM css_rodzaje_dokumentow WHERE rdok_kod = 'FC') AND TRUNC(dok_data_transakcji, 'MM') = TRUNC(:p_data_transakcji, 'MM')) ON DOK_KL_KOD_pod = kl_kod

Wynik chyba pożądany musze tylko dodac jeszcze wybieranie odpowiednich klientów, ale to taka sama zasada co przy fakturach, wiec nie będzie problemu. Tak wiec dziękuje za inspiracje snitch.gif
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.