| Autor | Zpráva | ||
|---|---|---|---|
| Japl Profil * |
#1 · Zasláno: 20. 8. 2006, 15:45:32
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 * |
#2 · Zasláno: 21. 8. 2006, 10:57:07
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 |
||
|
Časová prodleva: 20 let
|
|||
Toto téma je uzamčeno. Odpověď nelze zaslat.
0