ciao a tutti.
ho una query abbastanza complicata da eseguire. Ho sempre un piccolo motore di ricerca dove ho i seguenti campi di input: fornitore, cliente, provincia, data.
vado a ricercale in una tabella preventivi dove questi dati esistono tutti.
questa è la tabella
codice:
CREATE TABLE `mr_preventivi` (
`id` int(10) unsigned NOT NULL default '0',
`cod_cli` int(10) unsigned NOT NULL default '0',
`forn` int(10) unsigned NOT NULL default '0',
`pr` char(2) NOT NULL default '',
`date` int(8) unsigned NOT NULL default '0',
PRIMARY KEY (`id`)
) TYPE=MyISAM;
sucessivamente devo visualizzare le testate dei preventivi trovati, prendendo la descrizione da mr_fornitori e mr_clienti legate a mr_preventivi rispetivamente da forn e cod_cli.
codice:
SELECT
p.id AS id,
p.pr AS pr,
p.date AS date,
c.rag1 AS cli_rag1,
c.rag2 AS cli_rag2,
f.rag1 AS for_rag1,
f.rag2 AS for_rag2,
SUM(r.totale) AS tot
FROM mr_preventivi AS p
JOIN mr_clienti AS c
JOIN mr_fornitori AS f
WHERE p.cod_cli = c.id AND p.forn = f.id AND (where condition estratte dal motore)
ORDER BY p.date DESC;
E fin qui tutto ok. Il mio problema è visualizzare la somma dei totali delle righe del preventivo raggruppate per codice articolo
La tabella mr_preventivi_riga naturalmente è legata all'id del preventivo (id_prev)
codice:
CREATE TABLE `mr_preventivi_riga` (
`id` int(10) unsigned NOT NULL auto_increment,
`id_prev` int(10) unsigned NOT NULL default '0',
`id_art` int(10) unsigned NOT NULL default '0',
`totale` double(6,2) NOT NULL default '0.00',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=13 ;
come posso fare?