Autor Zpráva
Anonym
Profil
Dobrý den,
chtěl jsem se zeptat jak sestavit dotaz na databázy, který by vracel všechny uživatele a rovnou mi zjistil, jestli přihlášený uživatel dal uživateli bod.
Mám zatím tohle, bohužel to funguje jen když je v tabulce point jeden záznam.

"SELECT IF(p.user_id=u.id AND p.giver_id=$id, 1, 0) AS gave_point, u.* FROM user u LEFT JOIN point p ON u.id=p.user_id GROUP BY u.id ORDER BY COUNT(p.user_id) DESC LIMIT 100"

Všem vám moc děkuji za rady. :)
Kajman
Profil
Možná bude stačit něco takového
SELECT Ifnull(Sum(p.giver_id = $id), 0) AS gave_point,
       u.*
FROM   user u
       LEFT JOIN point p
              ON u.id = p.user_id
GROUP  BY u.id
ORDER  BY Count(p.user_id) DESC
LIMIT  100  
Anonym
Profil
Kajman:
Zkusil jsem a podle všeho běhá naprosto skvěle. Díky! :)

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: