Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL]Problem z konstrukcją zapytania
Forum PHP.pl > Forum > Przedszkole
krzesik
Witam,
mam dwa zapytania, jak je połączyć aby otrzymać jedną tabelę z wynikami?

  1.  
  2. SELECT month(DataSpr) AS miesiac, (IloscZam) AS IloscZaml, (IloscTow) AS IloscTow FROM `tab1` GROUP BY month(DataSpr) ORDER BY FIELD(`miesiac`,'4','5','6','7','8','9','10','11','12','1','2','3'))
  3.  
  4. oraz
  5.  
  6. SELECT month(DataZak) AS miesiac, (IloscRez) AS IloscRez FROM tab2 GROUP BY month(DataZak) ORDER BY FIELD(`miesiac1`,'4','5','6','7','8','9','10','11','12','1','2','3'))


polem łączącym powinny być daty
Tomplus
Użyj UNION, tylko ilość pól w SELECT musi być taka sama.
trueblue
Należałoby utworzyć tabelę-kalendarz i spiąć obydwa zapytania jako podzapytania z LEFT JOIN, bo jakkolwiek nie spiąłbyś tylko tych dwóch w MySQL, to otrzymasz brakujące wartości miesięcy (miesiące z jednego i drugiego zapytania nie muszą się pokrywać).
Ewentualnie emulacja OUTER JOIN: https://kawalekkodu.pl/gul-gul-na-full-czyl...er-join-w-mysql i na wyniku korzystać z COALESCE.

Ale to świadczy o tym, że prawdopodobnie baza jest niepoprawnie skonstruowana.
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.