Autor Zpráva
gardener
Profil
Zdravím, mám jeden dotaz:
Tímto query vybírám uživate kteří mají největší počet bodu v tabulce tb_points a seřadím je.

SELECT COUNT( point ) point, user_id
FROM tb_points
JOIN tb_users ON tb_points.user_id = tb_users.ID
WHERE tb_points.user_id = tb_users.ID
GROUP BY user_id
ORDER BY point DESC
LIMIT 0 , 30 

Potřeboval bych ale ještě získat všechny, nebo vybrané sloupce z tabulky tb_users KDE plati podminka
tb_points.user_id = tb_users.ID


Tusim, ze by to mohlo jit jeste nadrazenym selectem ale nevim, jak jej spravne zapsat..

Diky za kazdou radu.
Kajman_
Profil *
SELECT COUNT( point ) point, user_id, tb_users.*
FROM tb_points
JOIN tb_users ON tb_points.user_id = tb_users.ID
WHERE tb_points.user_id = tb_users.ID
GROUP BY user_id
ORDER BY point DESC
LIMIT 0 , 30 
gardener
Profil
Aha. děkuju za radu a ještě, jak by se postupovalo, pokud bych chtěl takto Joinem napojit tabulek více, například tabulku budliště kde users.address_id = address.ID ?
mattyZEM
Profil
Úplně stejně jak u prvního JOINu
gardener
Profil
Zkusil jsem to tedy takto:

SELECT COUNT( point ) point, user_id, tb_users .  *,tb_addresses .  *
FROM tb_points

JOIN tb_addresses ON tb_users.address_id = tb_addresses.ID
JOIN tb_users ON tb_points.user_id = tb_users.ID
WHERE tb_points.user_id = tb_users.ID
GROUP BY user_id
ORDER BY point DESC
LIMIT 0 , 30  


Ale dostavam hlasku:
#1054 - Unknown column 'tb_users.address_id' in 'on clause' 


pritom ale sloupec v tabulce existuje.
mattyZEM
Profil
tb_users musíš JOINout dřív.
gardener
Profil
Aha, nedoslo mi, ze zalezi na poradi, diky za vysvetleni.
Kajman_
Profil *
např.

FROM tb_addresses
JOIN tb_points ON tb_users.address_id = tb_addresses.ID
JOIN tb_users ON tb_points.user_id = tb_users.ID


by mělo fungovat pro verze před verzí 5 i po ní.

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: