Autor | Zpráva | ||
---|---|---|---|
jDanek Profil * |
#1 · Zasláno: 23. 7. 2012, 13:12:22
Zdravíčko všem.
Proč mi tohle vrací pouze 1 řádek? $sql=("SELECT c.*, cr.*, sum(cr.ratting) FROM `"._mysql_prefix."-kliniky` c LEFT JOIN `"._mysql_prefix."-clinic-ratting` cr ON (c.id=cr.clinic) ORDER BY skupina ASC" a tohle mi vrací normálně celý seznam $sql=("SELECT c.*, cr.* FROM `"._mysql_prefix."-kliniky` c LEFT JOIN `"._mysql_prefix."-clinic-ratting` cr ON (c.id=cr.clinic) ORDER BY skupina ASC" potřebuju docílit toho, aby v tabulce clinic-rating se sečetli hlasy a potřebuju spočítat počet řádků... (co řádek to 1 hlasující (karta pacienta) ) proto jsem pracoval se sum() a count() , ale vrací mi to vždy jen 1 řádek a nevím proč |
||
ShiraNai7 Profil |
Pokud chceš všechny řádky, tak si SUM() udělej v dalším dotazu. Dohromady to nejde (ani to moc nedává smysl).
|
||
Tori Profil |
jDanek:
Chybí GROUP BY. OT: A asi by to mělo být "clinic-rating", s jedním t. Sloveso rat znamená lovit krysy nebo prásknout někoho poldům. |
||
jDanek Profil * |
#4 · Zasláno: 23. 7. 2012, 13:28:08
@ShiraNai7: je to pro AdminExtend ... každý řádek = 1 klinika (stránkováno po 15) a já potřebuju pro každou kliniku zvlášť sečíst a vypočítat hodnocení... proto jsem se to snažil řešit v 1 dotazu...
@Tori: není to moje DB... jen pomaham... takhle pojmenovany uz to bylo... |
||
ShiraNai7 Profil |
#5 · Zasláno: 23. 7. 2012, 13:37:50
jDanek:
Pokud ti to nepůjde přes GROUP BY (což asi nepůjde, když potřebuješ všechna data a ještě s LIMITem), tak si tam přidej poddotaz, kterým načteš potřebný součet. Lepší poddotaz v rámci jednoho dotazu než 15 dalších individuálních dotazů. Např. $sql = "SELECT %columns%,(SELECT SUM(t2.) FROM zbytek si domyslíš, můžeš použít data z joinů nadřazeného dotazu) rating_soucet ... zbytek dotazu ..."; |
||
jDanek Profil * |
#6 · Zasláno: 23. 7. 2012, 15:04:41
zjistil jsem že např. tenhle dotaz vrací relevantní výsledky.... problém je že bez WHERE to vraci nesmyli
SELECT c.id as cid, cr.id as crid, c.*, cr.*, sum(cr.ratting), count(cr.id) FROM `sunlight-kliniky` c LEFT JOIN `sunlight-clinic-ratting` cr ON (cr.clinic=c.id) WHERE clinic=1 @ShiraNai7: zkusím ten poddotaz... |
||
Časová prodleva: 11 let
|
0