Witam

Mam nastepujacy problem:

Database error: Invalid SQL: select count(photo_b) as c, photo.id_template from photo where photo.idd='942' and photo.id_template=(select id_template from template_menu where template_menu.id_menu='8') and photo.active='1'and photo.photo_b != ''
MySQL Error: 1140 (Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is illegal if there is no GROUP BY clause)
Session halted.

Kod tabeli:

  1. CREATE TABLE IF NOT EXISTS `photo` (
  2. `id` smallint(6) NOT NULL AUTO_INCREMENT,
  3. `idd` smallint(5) NOT NULL,
  4. `photo_m` varchar(32) COLLATE utf8_polish_ci NOT NULL,
  5. `photo_b` varchar(32) COLLATE utf8_polish_ci NOT NULL,
  6. `text` text COLLATE utf8_polish_ci NOT NULL,
  7. `id_template` smallint(3) NOT NULL,
  8. `active` tinyint(1) NOT NULL DEFAULT '1',
  9. `ord` smallint(3) NOT NULL,
  10. PRIMARY KEY (`id`),
  11. KEY `id_menu` (`idd`)
  12. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci AUTO_INCREMENT=5915 ;




Jestem troche zielony i zastanawiam sie gdzie moge umiescic ta komende group by? czy w tej strukturze tabeli czy w skrypcie php ktory wywoluja ta komende?Ogolnie mam duzo plikow w kodzie sql i nie moge znalezc ktore dokladnie polecenie odpowiada za wywolanie tej powyzszej komendy:/
Moze ktos bedzie mogł podrzucic mi jakas podpowiedz.



Z gory dziekuje za pomoc i pozdrawiam


Problem rozwiązany jakby kogos interesowało:
SELECT count(photo_b) AS c, photo.id_template
FROM photo
WHERE photo.idd='942'
AND photo.id_template=(
SELECT id_template
FROM template_menu
WHERE template_menu.id_menu='8'
)
AND photo.active='1'
AND photo.photo_b != ''
GROUP BY photo.id_template

Mozna zamknać!