| | |
| Stránka: 1 z 1
| [ Príspevkov: 3 ] | |
Autor | Správa |
---|
Registrovaný: 21.09.08 Prihlásený: 14.11.17 Príspevky: 225 Témy: 74 Bydlisko: Michalovce |
Nazdarek. Mam vytvorene 2 tabulky s nazvom club_members a club_post. V tabulke club_members su ulozeny clenovia klubu a stlpce su oznacene ako id, id_uzivatela, id_club, visited. V tabulke club_post su ulozene prispevky v samotnych kluboch a stlpce su oznacene ako id, id_post, id_uzivatela, id_club, prispevok, datum. No a ja by som potreboval, aby mi zobrazilo sucet novych(poslednych) prispevkov zo vsetkych klubov od poslednej navstevy uzivatela v jedotlivych kluboch. Cize povedzme, ak posledna navsteva uzivatela v klube č.1 bola vcera a medzi tym pribudli v tomto klube 4 prispevky a v klube č.2 bol dnes napr. pred 2 hod. a medzi tym pribudli v tomto klube 2 prispevky, tak aby mu zobrazilo ze bolo v jeho kluboch pridanych 6 novych prispevkov od jeho poslednej navstevy. Neviete mi poradit ako na to? Ako by mal vyzerat ten select? Lebo môj zapis Kód: SELECT COUNT(c.id_post) AS topic, m.visited FROM club_post AS c LEFT JOIN club_members AS m ON c.id_club=m.id_club WHERE m.id_uzivatel='$uzivatelID' AND c.datum>'m.visited' mi vzdy vrati pocet vsetkych prispevkov. A to ja nechcem.
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 12.04.2013 18:32 | |
|
Naco ti tam su preboha tie stlpce id? V prvej tabulke mozes mat primarny kluc dvojicu (id_uzivatela, id_club), v druhej id_post (ak teda nechces priradovat jeden post do viacej klubov, ale v tom pripade treba moj dotaz nizsie asi upravit na COUNT(DISTINCT c.id_post). A vtedy by si mohol mat tiez primarny kluc dvojicu post a klub). Tvoj kod vobec nedava zmysel. Pouzijes agregacnu funkciu (COUNT), tym padom sa caka, ze tvoj dotaz je zgrupovany -> ak chces SELECTovat neagregovany stlpec (m.visited), musi byt v GROUP BY. Ale to sa zas bude chovat nejak inak. V kazdej normalnej databaze ti tento tvoj dotaz ani nepojde spustit, tu MySQL by si mohol zahodit, ak sa chces naucit SQL poriadne. Podla mna to bude nieco ako Kód: SELECT COUNT(*) FROM club_post c, club_members m WHERE c.id_club = m.id_club AND c.datum > m.visited AND m.id_uzivatel = ? ale netestovane, moc nestiham nad tym premyslat momentalne.
|
|
Registrovaný: 21.09.08 Prihlásený: 14.11.17 Príspevky: 225 Témy: 74 Bydlisko: Michalovce |
Vdaka Ďuri... Funguje to..A dik aj za to vysvetlenie..
|
|
| Stránka: 1 z 1
| [ Príspevkov: 3 ] | |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|