Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    [SQL Server 2005]Somme verticali

    Ciao a tutti,

    io sto preparando un report, che poi riverserò su Excel, che contiene dei dati simili a questi

    CODE----Tot1---Tot2----TOT
    ABC-----12-------22------34
    DEF-----4--------99-------103
    ...ecc ecc

    in cui in TOT faccio delle somme orizzontali....ma avrei la necessità anche di fare delle somme verticali per avere poi un risultato come questo


    CODE----Tot1---Tot2----TOT
    ABC-----12-------22------34
    DEF-----4--------99------103
    .....
    --------16-------121-----137

    è fattibile una cosa del genere??

    thanks.

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Rifacendomi all'esempio di ieri

    codice:
    select code,
    sum(case when tipo_op = 'interno' then real_con_cost else 0 end) as tot_mi,
    sum(case when tipo_op = 'esterno' then real_con_cost else 0 end) as tot_me
    from export_costi_utente
    where .... 
    group by code
    with rollup

  3. #3
    fantastico! sta funzione proprio mi mancava....insieme a chissà quante altre!

    però alla fine la mia tabella è composta da parecchi campi...numerici e alfanumerici...e io a priori nn so se conosco i nomi delle colonne...infatti per recuperare tutto faccio una select *....

    vedo che il rollup funziona solo se raggruppo......è corretto?

    facendo una select * non posso sfruttarlo?

    grazie

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Il rollup richiede che venga eseguito un raggruppamento.
    Non mi è chiaro che report vorresti ottenere con un semplice "select * ".

  5. #5
    faccio un select * da una tabella che è il risulato di diverse procedure....quindi diciamo che dentro questa tabella c'è già il mio report pronto....

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da elsinore77
    faccio un select * da una tabella che è il risulato di diverse procedure....quindi diciamo che dentro questa tabella c'è già il mio report pronto....
    Quindi a questa tabella dovresti aggiungere solo i totali di colonna e di righe, è giusto?

  7. #7
    esatto!

    anzi solo i totali di colonna....quelli di righe sono già stati calcolati!

  8. #8
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Mah, potresti fare una union del tipo

    codice:
    select * from tabella
    union
    select 'totale',sum(campo1),'',sum(campo3) from tabella
    Ovviamente il numero di campi delle due select deve coincidere. Con '' ho inteso i campi non numerici di cui ovviamente non calcoli il totale

  9. #9
    potrei provare questa strada....anche se i nomi delle colonne non li so a priori.....devo andare a prenderli da un'altra tabella....cmq grazie provo!

  10. #10
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da elsinore77
    potrei provare questa strada....anche se i nomi delle colonne non li so a priori.....devo andare a prenderli da un'altra tabella....cmq grazie provo!
    Come fai a non conoscere i nomi dei campi?

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.