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

    [MSSQL]PIVOT/UNPIVOT su query

    Buongiorno a tutti,
    ho una query con il seguente resultset (in testata trovate i nomi dei campi)

    codice:
    Id          Giorno     Valore1              Valore2
    -----------------------------------------------------------
    38	Lunedì	 4894.910000	546.880000
    38	Martedì	 0.350000 	0.030000
    38	Mercoledì	 2815.990000	586.860000
    38	Giovedì	 777.810000	109.110000
    38	Venerdì	 425.380000	54.910000
    38	Domenica	 23.100000	10.500000
    vorrei ottenere un resultset di questo tipo


    codice:
    id---tipo---lunedi--martedi--mercoledi---giovedi--venerdi--sabato--domenica
    ----------------------------------------------------------------------
    38---valore1---4894.91---0.35---2815.99---777.81---425.38---23.10---
    38---valore2--- 546.80---0.03---586.86---109.11---54.91---10-50---
    Per una situazione simile tempo fa ho utilizzato i comandi PIVOT/UNPIVOT solo che ora, forse accecato dalla fame , non riesco più a farlo.
    Sapreste aiutarmi??

    Grazie anticipatamente.

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    codice:
    select id,val,[Lunedì],[Martedì],[Mercoledì],[Giovedì],[Venerdì],[Sabato],[Domenica]
    from (
    select id,'valore1' as val,giorno,valore1 as [valore]
    from tabella
    union all
    select id,'valore2',giorno,valore2
    from tabella) as t1
    pivot
    (
      sum(valore)
      for [giorno] IN ([Lunedì],[Martedì],[Mercoledì],[Giovedì],[Venerdì],[Sabato],[Domenica])
    )
    as t2
    group by id,[Lunedì],[Martedì],[Mercoledì],[Giovedì],[Venerdì],[Sabato],[Domenica],val
    order by id,val

  3. #3
    Ti ringrazio tanto, la tua query è corretta.

    A buon rendere

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.