Stai cercando di ottenere una query a campi incrociati (tipo tabella pivot), un problema classico nell'SQL normale. Hai tre possibilità:
1. usi una tabella pivot in Excel (quick and dirty)
2. con script: estrai prima i valori per la prima chiave (mesi); poi fai un loop ed estrai per ogni mese i tipi di pagamento e scrivi riga per riga la tua tabella finale
3. con SQL: se usi MySQL puoi sfruttare la funzione GROUP_CONCAT (vedi manuale) per generare un CSV oppure HTML oppure una query testuale; ecco i passi
* crei tabella T1 con tutti i valori della chiave 1 (mesi)
* crei una tabella T2 con tutti i valori della chiave due (tipi)
* crei una tabella TOTALI così:
CREATE TABLE TOTALI SELECT mese, tipo, COUNT(ORDINI.*) as n FROM ORDINI
* query finale:
SELECT mese, tipo
GROUP_CONCAT(IFNULL(n,'') SEPARATOR ';')
FROM (T1,T2) LEFT JOIN ORDINI ON (ORDINI.mese=T1.mese AND ORDINI.tipo=T2.tipo)
INTO OUTFILE...
* caricare i valori finali dal file per creare una tabelle o simile