Autor | Zpráva | ||
---|---|---|---|
krteczek_ Profil * |
#1 · Zasláno: 14. 5. 2009, 20:58:54
Dobrý večer, na lokále:
Verze MySQL: 5.0.67-0ubuntu6 Verze MySQL klienta: 5.0.67 mi následující dotaz funguje: SELECT `new_polozky_tovaru`.`pol_id`, `new_polozky_tovaru`.`pol_cena`, `new_polozky_tovaru`.`pol_katalog_id`, `new_polozky_tovaru`.`pol_nazov_sk`, `new_polozky_tovaru`.`pol_akce_sleva_sk` AS `sleva`, `new_polozky_tovaru`.`pol_skladem` AS `skladem`, `new_polozky_tovaru`.`pol_novinka` AS `novinka`, SUM(`new_basket`.`basket_article_count`) AS `counts` FROM `new_polozky_tovaru`, `new_basket` WHERE `new_polozky_tovaru`.`pol_katalog_id`= 1001 AND `new_basket`.`basket_article_id` = `new_polozky_tovaru`.`pol_katalog_id` ovšem na produkčním webu: Verze MySQL: 5.0.45 Verze MySQL klienta: 5.0.45 mi to háže následující chybu: 1140 Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is illegal if there is no GROUP BY clause Jde ten dotaz napsat tak, aby chybu neházel a zároveň vracel smysluplné výsledky? Prosín o ukázku a vysvětlení. Díky |
||
tiso Profil |
#2 · Zasláno: 14. 5. 2009, 21:08:02
doplň na koniec:
GROUP BY `new_basket`.`basket_article_id` |
||
krteczek_ Profil * |
#3 · Zasláno: 14. 5. 2009, 23:03:06
Tak jsem v pasti.
tiso: děkuji, na webu funguje dotaz tak jak mi na lokále fungoval před úpravou, ovšem na lokále mi ten samý dotaz na stejných tabulkách nevrátí nic... Vlastně ne, vrátí mi mimo jiné počet všech objednaných položek s tímto id. Takže problém je v celé koncepci dotazu, a bude ho nutno sestavit jinak, to znamená udělat dotazy dva a nakonec je spojit... Děkuji :) |
||
Kajman_ Profil * |
#4 · Zasláno: 15. 5. 2009, 08:36:57
Na vývojovém serveru nemusí být na škodu nastavit si server tak, aby vynutil správné použití group by.
http://dev.mysql.com/doc/refman/5.0/en/server-sql-mode.html#sqlmode_only_full_group_by |
||
Časová prodleva: 15 let
|
0