Autor Zpráva
Japl
Profil *
Zdravím, potřeboval bych poradit s následujícím problémem:

Mám 2 tabulky:

1) Tabulka 'lidi' , která obsahuje id, jmeno, prijmeni
2) Tabulka 'statistiky' ktera obsahuje id (řádku), id_u (uživatele, stejné jako u tabulky lidi), datum a čas (datetime) a akci

A potřeboval bych udělat dotaz, který vypíše z tabulky lidi všechny lidi a u každého z nich ještě vypíše rozdíl aktuálního času (asi now()) od posledního záznamu v tabulce statistiky a sloupci čas, který má id_u stejné jako id a ve sloupci akce má slovo 'login'

Jednoduše řečeno bych chtěl mít výpis všech lidí a u kazdého čas, před kteým se naposledy přihlásili :) Ještě doplnění, že někteří se zatím nepřihlásili, takže nemají žádný záznam ve statistikách :)
Visitor
Profil *
Ahoj

$query = 'SELECT l.jmeno, l.prijmeni FROM lidi l LEFT JOIN (SELECT MAX(s.datum_a_cas) FROM statistiky s WHERE s.akce = "login" GROUP BY s.id_u) AS posledni_login ON (l.id = s.id_u)';

Pisnul jsem to tu z hlavy tak kdyby to nefungovalo tak doporucuji samostudium na http://www.linuxsoft.cz/article.php?id_article=731 kde je pekny clanek o praci s MySQL. V dotazu neresim rozdil casu ale to si bud udelas sam v PHPku a nebo by melo fungovat neco jako TIMEDIFF(NOW() - (SELECT MAX(s.datum_a_cas) FROM statistiky s WHERE s.akce = "login" GROUP BY s.id_u))

GL
Toto téma je uzamčeno. Odpověď nelze zaslat.

0