Salve, vi chiedo un consiglio: dovrei fare una cosa del tipo:
Io vorrei avere una tabella, che mi permette di raggruppare per mese e per diverse tipologie di pagamento, il numero di ordini ricevuti, suddivisi per tipologia di pagamento, per ogni mese.
ESEMPIO:
----------CONTRASSEGNO--BONIFICO-VAGLIA
GENNAIO---25------------25--------36
FEBBRAIO---36---------96--------63
e così via per tutti i mesi di un anno...
la tipologia di pagamento è contrassegnata da un codice (es: 3 per il contrassegno, 4 per il vaglia e cosi via).
io l'avevo scritta così:
SELECT Year( O.datetime_inserimento ) AS Anno,
Month( O.datetime_inserimento ) AS Mese,
COUNT(O.id_modalitapagamento) AS Bonifico_Vaglia,
COUNT(O.id_modalitapagamento) AS Contrassegno,
COUNT(O.id_modalitapagamento) AS Ritiro,
COUNT(O.id_modalitapagamento) AS Bonifico_Vaglia_Progetto,
COUNT(O.id_modalitapagamento) AS Contrassegno_Progetto
FROM ordini AS O, ordini_articoli AS OA, modalitapagamento AS M
WHERE OA.id_ordine = O.sys_id AND O.id_modalitapagamento = M.sys_id
AND O.flag_evaso=1 AND Year(O.datetime_inserimento)='2004' AND Month(O.datetime_inserimento)='6'
GROUP BY Year( O.datetime_inserimento ), Month( O.datetime_inserimento ), Bonifico_Vaglia, Contrassegno, Ritiro, Bonifico_Vaglia_Progetto, Contrassegno_Progetto
HAVING Bonifico_Vaglia='2', Contrassegno='3', Ritiro='4', Bonifico_Vaglia_Progetto='5' ,Contrassegno_Progetto='6'
ORDER BY 1 DESC , 2 DESC
ma chiaramente mi da errore:
la tabella "ordini" contiene, come il nome lascia intendere, la descrizione degli ordini, tra i quali la modalità di pagamento prescelta, selezionata tra una una delle diverse opzioni presenti in un'altra tabella "modalitapagamento".
Non considerate per ora la tabella "ordini_articoli", non mi serve e l'ho erroneamente inserita nel FROM.
Nello specifico, come faccio a dire che la seconda tabella, da me chiamata bonifico_vaglia,deve fare il count solo degli elementi (ovvero delle modalità di pagamento) con id=2, ovvero proprio quelli che il sistema identifica come bonifico? E così via per gli altri? Io l'avevo fatto con l'HAVING...
Perchè altrimenti, con un count generico, lui mi prende tutti gli elementi in quella colonna, che contiene gli indentificativi di tutte le modalità di pagamento.
Grazie in anticipo raga!!!:byebye:
Io vorrei avere una tabella, che mi permette di raggruppare per mese e per diverse tipologie di pagamento, il numero di ordini ricevuti, suddivisi per tipologia di pagamento, per ogni mese.
ESEMPIO:
----------CONTRASSEGNO--BONIFICO-VAGLIA
GENNAIO---25------------25--------36
FEBBRAIO---36---------96--------63
e così via per tutti i mesi di un anno...
la tipologia di pagamento è contrassegnata da un codice (es: 3 per il contrassegno, 4 per il vaglia e cosi via).
io l'avevo scritta così:
SELECT Year( O.datetime_inserimento ) AS Anno,
Month( O.datetime_inserimento ) AS Mese,
COUNT(O.id_modalitapagamento) AS Bonifico_Vaglia,
COUNT(O.id_modalitapagamento) AS Contrassegno,
COUNT(O.id_modalitapagamento) AS Ritiro,
COUNT(O.id_modalitapagamento) AS Bonifico_Vaglia_Progetto,
COUNT(O.id_modalitapagamento) AS Contrassegno_Progetto
FROM ordini AS O, ordini_articoli AS OA, modalitapagamento AS M
WHERE OA.id_ordine = O.sys_id AND O.id_modalitapagamento = M.sys_id
AND O.flag_evaso=1 AND Year(O.datetime_inserimento)='2004' AND Month(O.datetime_inserimento)='6'
GROUP BY Year( O.datetime_inserimento ), Month( O.datetime_inserimento ), Bonifico_Vaglia, Contrassegno, Ritiro, Bonifico_Vaglia_Progetto, Contrassegno_Progetto
HAVING Bonifico_Vaglia='2', Contrassegno='3', Ritiro='4', Bonifico_Vaglia_Progetto='5' ,Contrassegno_Progetto='6'
ORDER BY 1 DESC , 2 DESC
ma chiaramente mi da errore:
la tabella "ordini" contiene, come il nome lascia intendere, la descrizione degli ordini, tra i quali la modalità di pagamento prescelta, selezionata tra una una delle diverse opzioni presenti in un'altra tabella "modalitapagamento".
Non considerate per ora la tabella "ordini_articoli", non mi serve e l'ho erroneamente inserita nel FROM.
Nello specifico, come faccio a dire che la seconda tabella, da me chiamata bonifico_vaglia,deve fare il count solo degli elementi (ovvero delle modalità di pagamento) con id=2, ovvero proprio quelli che il sistema identifica come bonifico? E così via per gli altri? Io l'avevo fatto con l'HAVING...
Perchè altrimenti, con un count generico, lui mi prende tutti gli elementi in quella colonna, che contiene gli indentificativi di tutte le modalità di pagamento.
Grazie in anticipo raga!!!:byebye: