Autor Zpráva
*Čvachta*
Profil *
Ahoj, mám celkem složitý select

SELECT
clanky.url,
DATE_FORMAT(clanky.datum, '%W %d.%m.%Y') AS datum,
clanky.nazev,
clanky.obsah,
kategorie.kategorie_url,
kategorie.kategorie_nazev
FROM clanky
JOIN kategorie
ON kategorie.kategorie_id = clanky.kategorie
ORDER BY clanky.id DESC LIMIT 10;


Ten mi vybere články z tabulky clanky a k nim kategorie z tabulky kategorie, jde mi o to, že po té co zjistím tímto dotazem url článku tak ještě ke každému počítám počet komentářů a to tímto způsobem:

SELECT COUNT(id) AS cislo FROM komentare WHERE clanek = '$url';


$url = té url co jsem vybral z předchozího dotazu. Chtěl bych to všechno nacpat do jednoho dotazu. Klidně by tam asi mohl být i vnořený select. Já SQL neovládám špičkově.

Poradíte mi někdo? Předem díky
Kajman_
Profil *
SELECT
clanky.url,
DATE_FORMAT(clanky.datum, '%W %d.%m.%Y') AS datum,
clanky.nazev,
clanky.obsah,
kategorie.kategorie_url,
kategorie.kategorie_nazev,
ifnull(count(komentare.id),0)
FROM kategorie
JOIN clanky
ON kategorie.kategorie_id = clanky.kategorie
LEFT JOIN komentare
ON clanky.url=komentare.clanek
GROUP BY clanky.url
ORDER BY clanky.id DESC LIMIT 10;

Nebo tak nějak.
*Čvachta*
Profil *
Kajman_

Jsi zlato! Tobě by měli účastníci téhle diskuse postavit pomník :)
Funguje to výborně!
Toto téma je uzamčeno. Odpověď nelze zaslat.

0