Autor Zpráva
freeTel
Profil *
Dobrý den, chci se zeptat a už je mi to trapné na řazení podle oblíbenosti. To co jsem sesmolil mi vyhazuje pouze jeden výsledek. Zkoušel jsem různé možnosti, ale vždy se vracím k původnímu zápisu a motám se dokola jako štěně za ocasem.
SELECT 
    ob.id,ob.id_kategorie,us.id_produktu,ob.nazev,ob.znacka,ob.cena,ob.chs,us.id_klienta,us.cenik,pm.cen_relace
FROM produkty ob 
LEFT JOIN klient_cenik us 
    ON ob.id=us.id_produktu AND us.id_klienta='1' 
LEFT JOIN oblibene obl 
    ON ob.id=obl.id_zbozi 
LEFT JOIN user pm 
    ON pm.id='1' 
WHERE 
    ob.id_kategorie IN(2,3,4,5) AND coalesce(us.cenik,ob.chs) ORDER BY COUNT(obl.id_zbozi) DESC
Kajman
Profil
Agregační funkce lze použít i bez group, ale pak se provedou nad všemi řádky a výsledkem tedy bude vždy jeden řádek.

U mysql (minimálně pro vývoj) doporučuji nastavit flag ONLY_FULL_GROUP_BY, aby takové nesmyslné dotazy hned vypsaly chybovou hlášku.
freeTel
Profil *
Kajman:
Super, díky moc.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0