Visualizzazione dei risultati da 1 a 7 su 7

Discussione: [Access] Sommare righe

  1. #1
    Utente di HTML.it L'avatar di nat99
    Registrato dal
    Dec 2001
    Messaggi
    763

    [Access] Sommare righe

    Salve.

    Con una query ho questa situazione

    Articolo Quantita Importo Stato Data documento ESISTENZA
    41095 2 4 12,08 S 25-gen-10 100
    41095 1 4 12,08 S 25-gen-10 100
    41096 5 4 8,6 S 20-apr-10 20
    41097 7 6 12,9 S 25-gen-10 50
    41097 1 6 12,9 S 27-gen-10 50
    41097 2 6 12,9 S 29-gen-10 50
    41097 5 6 12,9 S 01-feb-10 50
    Vorrei che nel campo ESISTENZA non mi fosse riportato il valore esistenza, ma la differenza regressiva tra esso e il campo quantità secondo questo esempio:

    Articolo Quantita Importo Stato Data documento ESISTENZA
    41095 2 4 12,08 S 25-gen-10 100
    41095 1 4 12,08 S 25-gen-10 98
    41096 5 4 8,6 S 20-apr-10 20
    41097 7 6 12,9 S 25-gen-10 50
    41097 1 6 12,9 S 27-gen-10 43
    41097 2 6 12,9 S 29-gen-10 42
    41097 5 6 12,9 S 01-feb-10 37
    E' possibile fare una cosa del genere?

    Nat

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    C'è qualcosa che non mi quadra nel tuo esempio. L'ultima differenza cumulata dovrebbe essere 40 anzichè 37 se ho capito la logica.

    Prova con questa query

    codice:
    select r.*,r.esistenza-p.somma as cumulata from TABELLA as r
    inner join (
    select t1.id, nz(sum(t2.quantita),0) AS somma
    from TABELLA as t1 left join TABELLA as T2 on (T2.articolo = T1.articolo) and (T2.id <T1.id)
    group by t1.articolo, t1.quantita, t1.esistenza, t1.id
    order by t1.articolo, t1.id) as p
    on r.id = p.id
    order by r.articolo,r.id

  3. #3
    Utente di HTML.it L'avatar di nat99
    Registrato dal
    Dec 2001
    Messaggi
    763
    No deve essere 37... esistenza (ultima) - qta = 42 - 5 = 37

    Provo la query se ci riesco

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da nat99
    No deve essere 37... esistenza (ultima) - qta = 42 - 5 = 37
    L'esempio allora non è coerente. Comunque sostituisci < con <= .

  5. #5
    Utente di HTML.it L'avatar di nat99
    Registrato dal
    Dec 2001
    Messaggi
    763
    Ciao.
    Prima di tutto grazie dell'aiuto.

    Seconda cosa! GRAZIE perchè funziona!

    Terza cosa... perchè non era corretto il mio esempio?

    Nat

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Il tuo esempio era un pò fuorviante perchè nella prima riga hai 100 e quantità 2. Sottraendola nella seconda riga ottieni 98 ma a questa poi non sottrai 1.

    Seguendo quella logica per l'articolo 41097,sottraendo via via la quantità della riga precedente otterresti 40 (42-2) e non 37. Per quello chiedevo se doveva essere fatta la sottrazione anche dell'ultimo record di ciascun gruppo.

    Prego.

  7. #7
    Utente di HTML.it L'avatar di nat99
    Registrato dal
    Dec 2001
    Messaggi
    763
    Si giusto.
    Accorto ora

    Grazie cmq

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.