|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
[SQL]Sum, Case, When
Ciao a tutti
Riprendendo del vecchissimo codice ho da modificare alcune cose ad una vista: Codice:
--vecchia sp SELECT p.empID, p.surname, p.name, p.[1], p.[2], p.[3], p.[4], p.[5], p.[6], p.[7] FROM (SELECT empID, surname, name, DATEPART(day, date) as theDate, totale) AS pvt PIVOT (SUM(totale) FOR pvt.theDate IN ([1], [2], [3], [4], [5], [6], [7])) AS tmp GO Codice:
--il campo in aggiunta indica un'assenza (nchar(2)) -- (1) se per il giorno 'X' c'è un totale -- (2) se per il giorno 'X' non c'è un totale e non c'è un'assenza -- (3) se per il giorno 'X' non c'è un totale e c'è un'assenza --Ho ragionato così: SELECT p.empID, p.surname, p.name, p.[1], p.[2], p.[3], p.[4], p.[5], p.[6], p.[7] FROM (SELECT empID, surname, name, datepart(day, date) as theDate, totale, assenza) AS pvt PIVOT(SUM(CASE WHEN assenza IS NULL THEN totale ELSE 0 END) for pvt.theDate IN ([1], [2], [3], [4], [5], [6], [7])) AS tmp GO Se provo a farlo ottengo: Codice:
La colonna 'ViewEmployeeItems.empID' non è valida nell'elenco di selezione perchè non è inclusa nè in una funzione di aggregazione nè nella clausola GROUP BY RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:39.



















