Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> zliczanie produktów z 2 tabel
DeyV
post
Post #1





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




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 (IMG:http://forum.php.pl/style_emoticons/default/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ć?
Go to the top of the page
+Quote Post
Jabol
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 467
Pomógł: 13
Dołączył: 22.02.2003

Ostrzeżenie: (0%)
-----


bzdurna znaczy się jakie ? próbowałeś może inner joina ?
Go to the top of the page
+Quote Post
adwol
post
Post #3





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 6.08.2003

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
DeyV
post
Post #4





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




Kolejny raz, adwol okazałeś sie niezastąpiony. Wielkie dzięki. Dokładnie o to chodziło.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 20:06