Autor | Zpráva | ||
---|---|---|---|
pe3k Profil * |
#1 · Zasláno: 5. 4. 2008, 10:27:06
Zdravim,
mam 3 tabulky: produkty, objednavky, rezervacie ... prepojene su ideckom produktu a potrebujem vybrat jednym dotazom: vsetky produkty, sucasne pocet kusov v objednavkach k danym produktom a sucasne pocet kusov rezervovanych k daym produktom mam takyto dotaz, lenze mi to pocet rezervacii znasobi podla riadkov objednanych: SELECT p.*, sum(o.o_ks) as o_pocet, sum(r.r_ks) as r_pocet FROM produkty p LEFT JOIN objednane o ON p.id=o.o_pro_id LEFT JOIN rezervovane r ON p.id=r.r_pro_id WHERE p.idkat='$katid' GROUP BY p.id ORDER BY p.cena asc ... jak to zmenit aby mi pocet rezervovanych nenasobilo poctom riadkou objednanych .... vdaka za kazdu radu |
||
Kajman_ Profil * |
#2 · Zasláno: 5. 4. 2008, 11:25:52
např.
SELECT p.*, ifnull(o.o_ks,0) as o_pocet, ifnull(sum(r.r_ks),0) as r_pocet FROM produkty p LEFT JOIN (select o_pro_id, sum(o_ks) o_ks from objednane group by o_pro_id) o ON p.id=o.o_pro_id LEFT JOIN (select r_pro_id, sum(r_ks) r_ks from rezervovane group by r_pro_id) r ON p.id=r.r_pro_id WHERE p.idkat='$katid' GROUP BY p.id ORDER BY p.cena asc |
||
pe3k Profil * |
#3 · Zasláno: 5. 4. 2008, 20:30:24
vdaka, islo to u mna na locali kde mam mysql 5 ... nanestastie na hostingu je verzia 4.0.27 ... a tam to zlyhalo ...
viete poradit jak to zapisat aby to bezalo aj na 4.0.27 ? |
||
Kajman_ Profil * |
#4 · Zasláno: 6. 4. 2008, 09:54:31
Zkuste si do php pole nejdříve načíst jeden součet a přidávat ho při výpisu produktů s druhým součtem.
Osobně bych spíše položil hostingu otázku, jestli je možné přejít na novější verzi. |
||
Časová prodleva: 16 let
|
0