Re: [postgresql-it] Query.... difficile per me

  • From: mario <mario@xxxxxx>
  • To: postgresql-it <postgresql-it@xxxxxxxxxxxxx>
  • Date: Mon, 14 Oct 2013 14:33:40 +0200

Grazie per la velocità di riscontro.....

dunque in realta' non possono esistere operazioni di rientro parziali
ma solo totali quindi nel tuo esempio la 678 B, se esiste,
deve comunque essere di 500 e non di 250.

quindi riprendendo il tuo esempio

123 A -1000 EUR  13/04/2013
123 B +1000 EUR  25/04/2013
678 A  -500 EUR  12/04/2013
678 B  +500 EUR  07/06/2013
340 A -300 EUR  12/05/2013
240 A -150 EUR  07/05/2013


devono saltar fuori solo le ultime due.
Spero di essere stato piu chiaro e grazie mille ancora.



-- 
Saluti
Naso GianMario
via L. da Vinci, 215
17021 ALASSIO (SV)
Tel: 0182-640866

Ai sensi del Decreto Legislativo n. 196/2003,
si precisa  che le informazioni contenute
in questo messaggio e negli eventuali allegati
sono riservate e per uso esclusivo del destinatario.
Persone diverse dallo stesso non possono copiare
o distribuire il messaggio a terzi.
Chiunque riceva questo messaggio per errore,
è pregato di distruggerlo e di informare
immediatamente mario@xxxxxx


In data lunedì 14 ottobre 2013, alle ore 13.49, hai scritto:


Buongiorno a tutti ragazzi. Ho bisogno di un po' di aiuto per compilare una 
query un po complicata per me. Dunque vi spiego : ho una tabella con x campi 
mi interessano però  solo 4 di essi e cioè
idoperazione, importo, codoperazione e dataniziovalidita.
Sono ovviamente movimenti contabili. Cosi identificabili:
codoperazione A addebito, codoperazione B accredito a pareggio se 
idoperazione e' lo stesso per entrambi i record.
Io devo estrarre i record che non hanno l'operazione a pareggio.  Cioè devo 
trovare chi mi deve ancora pagare.
Spero di essere stato chiaro e ringraziando anticipatamente chiunque voglia 
aiutarmi, rimango a disposizione per qualunque chiarimento.  Ciao a tutti.

Marii


Ciao,

premesso che non so niente di contabilita..
se ho capito bene, avendo:

123 A -1000 EUR
123 B +1000 EUR
678 A  -500 EUR
678 B  +250 EUR


vorresti che salta fuori l'idoperazione 678 perche` non ha il "bilancio" a 
zero
(e invece non ti interessa 123)?

Prova se questa fa quello che vuoi:

select idoper, sum(imp) from x group by idoper having sum(imp) != 0;

Bye,
Chris.

PS: spero che tu tra i tuoi x-4 campi hai anche una chiave primaria, si`? 
altrimenti
sta cercando guai (essendo idoper non unica...).

Other related posts: