Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Problem z left join. Jeden produkt do wielu kategorii
Octobus
post
Post #1





Grupa: Zarejestrowani
Postów: 259
Pomógł: 1
Dołączył: 3.07.2011

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


Mam takie tabele

* produkty
id | nazwa | itd

* kategorie
id | id_produktu | kategoria

i teraz chce jednym zapytaniem moc pobrac wszystkie produkty z jednej kategorii. Robie wiec:

Cytat
select * from `kategorie` as `k`
left join `produkty` as `p` on (`k`.`id_produktu` = `p`.`id`)
where `kategoria`="torby"
limit 0, 27


i zwraca za wiele rekordow, bo produkty sa przypisane do wielu kategorii, wiec jeden produkt takim zapytaniem wyskakuje 3 razy na liscie. Jak zrobic zeby wystepowal tylko raz, co takiego zle robie ? Moge oczywiscie dodac:
Cytat
group by `p`.`id`

ale wtedy to zapytanie nie nada sie do zliczenia ilosci produktow w calej kategorii przerabiajac je w ten sposob:
Cytat
select count(`id_produktu`) as `ilosc` from `kategorie` as `k`
left join `produkty` as `p` on (`k`.`id_produktu` = `p`.`id`)
where `kategoria`="torby"
group by `p`.`id`


moge niby pobrac wszystkie dane i zliczyc ile tego jest, ale skoro jest mysql count to chcialbym to zrobic "po ludzku". Byc moze blad jest blachy ale jakos nie moge dojsc do porozumienia z tym ...
Go to the top of the page
+Quote Post
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Nie rób LEFT JOIN - zwykły JOIN.


--------------------
Go to the top of the page
+Quote Post
Pyton_000
post
Post #3





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


A jakim cudem masz przypisany produkt 3x do tej samej kategorii?
Go to the top of the page
+Quote Post
Octobus
post
Post #4





Grupa: Zarejestrowani
Postów: 259
Pomógł: 1
Dołączył: 3.07.2011

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


Cytat(Pyton_000 @ 14.09.2017, 12:55:50 ) *
A jakim cudem masz przypisany produkt 3x do tej samej kategorii?


No i wszysztko jasne tongue.gif

Ten post edytował Octobus 14.09.2017, 11:58:02
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 19.08.2025 - 18:08