Ciao,
ipotizzando che la select da te indicata sia questa, quindi eliminiamo dubbi:
SELECT COM_ID, SUM(QU) AS TOT, SUM(PREZZO) AS PREZZO, TIPO FROM
(SELECT
(PREZZO*SUM(QU)) AS PREZZO,
SUM(QU) AS QU,
COM_ID,
VOCE,
quinto_menu_day.TIPO
FROM quinto_ordine
JOIN quinto_menu_day ON quinto_ordine.VOCE = quinto_menu_day.PIATTO
WHERE quinto_ordine.COM_ID = '24'
GROUP BY VOCE
ORDER BY ORDINE
) AS MAIN
GROUP BY TIPO
- mancano le group by sulla select interna... mi sembra strano che dici "facendo la select interna non ho errori...". Anche sul prezzo devi metterla in group by oppure applicare una funzione di aggregazione
- mancano le group by sulla select esterna
SELECT COM_ID, SUM(QU) AS TOT, SUM(PREZZO) AS PREZZO, TIPO FROM
(SELECT
(PREZZO*SUM(QU)) AS PREZZO,
SUM(QU) AS QU,
COM_ID,
VOCE,
quinto_menu_day.TIPO
FROM quinto_ordine
JOIN quinto_menu_day ON quinto_ordine.VOCE = quinto_menu_day.PIATTO
WHERE quinto_ordine.COM_ID = '24'
GROUP BY VOCE , COM_ID, quinto_menu_day.TIPO
ORDER BY ORDINE
) AS MAIN
GROUP BY TIPO , COM_ID
Comincia ad applicare queste modifiche e facci sapere come va
Ciao
Mik