Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    effettuare una somma e salvare sul database

    salve,
    ho una tabella del database così composta :
    id, data, quantità (non ci sono chiavi primarie dato che è una tabella con cui faccio join verso altre)
    praticamente la tabella dovrebbe essere così riempita:

    codice:
     
    id | data | quantita 
    1 | 1\1\2000 | 1
    2 | 1\1\2000 | 2
    3 | 1\1\2000 | 3
    1 | 2\1\2000 | 4
    2 | 2\1\2000 | 5
    3 | 2\1\2000 | 6
    1 | 3\1\2000 | 7
    2 | 3\1\2000 | 8
    3 | 3\1\2000 | 9
    ora quello che voglio fare è fare una specie di merge di 2 date e salvarle ...
    quindi fare ad es il merge tra 1\1 e 2\1 e salvarle con data 1\1

    una sorta di

    select *, sum(quantità) where data = 1\1\2000 or data = 1\2\2000 group by id

    quindi avrei la tabella rifatta in questo modo:
    codice:
     
    1 | 1\1\2000 | 5
    2 | 1\1\2000 | 7
    3 | 1\1\2000 | 9
    1 | 3\1\2000 | 7
    2 | 3\1\2000 | 8
    3 | 3\1\2000 | 9
    è possibile farlo con sql? o conviene farlo lato codice?
    W magica ROMA!

  2. #2
    di che db stiamo parlando?

  3. #3
    si scusa me ne ero accorto ora che non avevo messo il tag... cmq sqlite
    W magica ROMA!

  4. #4
    praticamente quello che vorrei fare è questo
    lo scrivo in pseudocodice/pseudojava/pseudosql

    codice:
    sql = select id,sum(quantita) from tabella where data = ? or data = ? group by id
    params = { data1,data2}
    cursore = eseguiquery(sql)
    
    while cursore.movetonext() { // ci sono una media di 1000 tuple
    sql2 = update tabella set quantita = cursore.getint(1) where id = cursore.getint(0) and data = data1
    eseguiquery(sql2)
    
    }
    fare una cosa del genere è lentissima poichè significa fare 1000 query...
    non è proprio l'ideale...
    W magica ROMA!

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.