Join? Výběr z 3 tabulek
4 příspěvky
Archiv diskusního fóra
Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.
-
Mám 3 tabulky clanky(ID-primary_key,a další již nepodstatné) komentare(ID-primary_key,Clanek,dalsi..) hodnoceni(ID-primary..,Clanek,Hodnoceni) A potřeboval bych SQL dotaz, aby mi to vybralo Clanky a spocitalo, kolik je komentářů a průměrné hodnocení... SQL dotaz mi pak vyšel tak: SELECT clanky.ID,clanky.Nadpis,clanky.Popis,clanky.Datum,AVG(hodnoceni.Hodnoceni) as `Znamka`,Count(komentare.ID) as `Komentaru` FROM `clanky` LEFT JOIN `hodnoceni`,`komentare` on clanky.ID = hodnoceni.Clanek or clanky.ID = komentare.Clanek WHERE clanky.Key LIKE '%$id%' Group by clanky.ID,komentare.Clanek,hodnoceni.Calnek Order by `Datum` DESC Limit 5; Fuj, to je dotaz... Count komentářů mi funguje, ale hodnocení mi vypíše pro všude stejné a přiřazovat to nemůžu, protože by mi to pak nevypisovalo clanky bez komentare nebo hodnocení...
-
Sem si ještě našel, že by to šlo perfektně vnořeným slectem, ale ten asi wz nepodporuje, protože má MySQL 4.0.15 a to pry funguje až od 4.1
-
Už to asi mám.. Kdyby to někdo někdy potřeboval tak: SELECT * FROM `1tabulka` right JOIN `hlavní_tabulka` on podmínka_spojeni left JOIN `3tabulka` on podmínka_spojeni a to, že může mít 1 a 3 tabulka ve vztahu k hlavní_tabulkou nulovou hodnotu Tak sem si tu sám se sebou pělně pokecal :D
-
Jinak docela dobrej monolog ...