Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zliczanie produktów z 2 tabel
Forum PHP.pl > Forum > Bazy danych
DeyV
Chyba w końcu będę musiał sobie sprawić pożądną knigę o SQL, bo te co mam już mi zupełnie nie wystarczają, ale zanim do tego dojdzie, ponownie proszę was o pomoc.

mam trzy przykłądowe tabele ( struktura całkiem przykładowa winksmiley.jpg )

Kod
kategorie: id, nazwa

produkty1: id, kat, nazwa

produkty2: id, kat, nazwa


Chciałbym zadać pytanie, któe pobierze nam dane z 'kategorie' oraz policzy produkty 1 i 2 należace do niej.
spodziewałem się, że proste zapytanie typu
Kod
SELECT

   kategorie.*,

   COUNT( produkty1.id ),

   COUNT( produkty2.id )

FROM kategorie

LEFT JOIN produkty1 ON ( kategorie.id = produkty1.kat )

LEFT JOIN produkty2 ON ( kategorie.id = produkty2.kat )

GROUP BY kategorie.id

rozwiąże ten problem, jednak zwraca ono bzudrne wyniki.
Co jest tego przyczyną, i jak powinno ono wyglądać?
Jabol
bzdurna znaczy się jakie ? próbowałeś może inner joina ?
adwol
Cytat
Co jest tego przyczyną, i jak powinno ono wyglądać?

Kod
SELECT

   kategorie.*,

   COUNT( DISTINCT produkty1.id ),

   COUNT( DISTINCT produkty2.id )

FROM kategorie

LEFT JOIN produkty1 ON ( kategorie.id = produkty1.kat )

LEFT JOIN produkty2 ON ( kategorie.id = produkty2.kat )

GROUP BY kategorie.id
DeyV
Kolejny raz, adwol okazałeś sie niezastąpiony. Wielkie dzięki. Dokładnie o to chodziło.
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.