Autor | Zpráva | ||
---|---|---|---|
pepino22 Profil * |
#1 · Zasláno: 11. 12. 2011, 21:43:59
Ahoj,
měl bych na Vás prosbu, nedaří se mi z databáze vytáhnout potřebná data :(. Mám 3 tabulky: user, photo, point se strukturou: user (tabulka uzivatelu na webu): id / name / login / password photo (tabulka fotek. Kazdy uzivatel muze nahrat X fotek): id / user_id / system_name point (tabulka hodnoceni fotek (uzivatele mohou hodnitit fotky, ovsem z 1 IP jen 1 hlas pro jednu fotku, proto zvlastni tabulka)) photo_id / ip Jde o to, ze bych potreboval idealne jednim dotazem vytahnout vsechny fotky na zaklade zadaneho ID uzivatele (photo.user_id = user.id) a zaroven spocitat pocet bodu pro danou fotku (nejspise spocitat pocet radku, kde photo.id = point.photo_id). Lze to provest jednim dotazem?? Bohuzel se mi to nejak nedari :( |
||
Tori Profil |
#2 · Zasláno: 11. 12. 2011, 22:16:44 · Upravil/a: Tori
SELECT f.*, COUNT(p.*) 'body' FROM `user` u INNER JOIN photo f ON u.id = f.user_id LEFT JOIN point p ON f.id = p.photo_id WHERE u.id = 123 GROUP BY f.id |
||
pepino22 Profil * |
#3 · Zasláno: 11. 12. 2011, 22:46:33 · Upravil/a: pepino22
presne tak, ID uzivatele je to jedine co znam, jdu to ozkouset, zatim dekuju moc.
Tori: tak jsem to vyzkousel a narazil na problem, se kterym jsem dosud bojoval. Dotaz: return dibi::fetchAll(' SELECT f.*, count(p.photo_id) body FROM user u INNER JOIN photo f ON u.id = f.user_id LEFT JOIN point p ON f.id = p.photo_id WHERE u.id = %i', $user->id,' '); Vraceno jsem dostal: array(1) [ 0 => DibiRow(4) { id => "46" (2) user_id => "21" (2) system_name => "nazev_fotky" (33) body => "2" } ] ale v databazi mam ulozene 3 fotky a jen jedna fotka (s ID 46) ma v tabule point ulozene 2 radky (tedy 2 hlasy). Potreboval bych z databaze dostat pole fotek, kde by u kazde byl i pocet hlasu, takto mi to vraci vzdy jen jeden zaznam (i kdyz jsem zkousel pro kazdou fotku dat nekolik hlasu). |
||
Tori Profil |
#4 · Zasláno: 11. 12. 2011, 23:29:37
pepino22:
Skleróza, pardon, mělo tam být ještě "GROUP BY f.id". Doplněno do [#2]. |
||
slovakCZ Profil |
#5 · Zasláno: 11. 12. 2011, 23:33:56 · Upravil/a: slovakCZ
Tori:
Uz to funguje, to je prada :o) dekuju mockrat! //pardon za predchozi prispevek pod neprihlasenym uzivatelem, psal jsem to zdomu kde jsem v prohlizeci nemel ulozene udaje a nepamatuji si heslo :o) |
||
Časová prodleva: 12 let
|
0