SELECT
sum(TotalHoursM)
+ (TotalHoursT)
+ (TotalHoursW)
+ (TotalHoursTH)
+ (TotalHoursF)
AS TOTAL
FROM LeaveRequest
risposta
Se la colonna ha un valore 0, si sta bene, suppongo che si sia verificato un problema con un valore Null, in tal caso sarà necessario utilizzare IsNull(Column, 0)
per assicurarsi che sia sempre 0 al minimo.
È possibile utilizzare ISNULL
:
ISNULL(field, VALUEINCASEOFNULL)
SELECT sum(isnull(TotalHoursM,0))
+ isnull(TotalHoursT,0)
+ isnull(TotalHoursW,0)
+ isnull(TotalHoursTH,0)
+ isnull(TotalHoursF,0)
AS TOTAL FROM LeaveRequest
manca uno ")" prima del "AS" –
sembra si desidera sommare tutte le colonne (non sono sicuro dove "Somma 3 colonne" viene da), non solo TotalHoursM, in modo da provare this:
SELECT
SUM( ISNULL(TotalHoursM ,0)
+ ISNULL(TotalHoursT ,0)
+ ISNULL(TotalHoursW ,0)
+ ISNULL(TotalHoursTH ,0)
+ ISNULL(TotalHoursF ,0)
) AS TOTAL
FROM LeaveRequest
grazie per il voto negativo quasi 8 anni dopo aver risposto a questo! ah ah, questa è esattamente la stessa risposta data da altri su questa stessa domanda. Ho risposto prima di loro, eppure hanno molti voti positivi. –
Le risposte precedenti utilizzando la funzione ISNULL
sono corrette. Funzionerà anche la funzione COALESCE
. Nell'esempio riportato:
SELECT sum(COALESCE(TotalHoursM,0))
+ COALESCE(TotalHoursT,0)
+ COALESCE(TotalHoursW,0)
+ COALESCE(TotalHoursTH,0)
+ COALESCE(TotalHoursF,0) AS TOTAL FROM LeaveRequest
Questo è identico alla soluzione ISNULL
con la sola differenza essendo il nome della funzione. C'è qualche disaccordo nel mondo SQL su cui è "migliore". Ma entrambi funzionano. Invio questa alternativa per due motivi. Lo COALESCE
è standard ANSI e non lo è ISNULL
. Ma, più importante è il fatto che COALESCE
è più flessibile. ISNULL
funziona solo con due parametri. Se il primo parametro è NULL, viene restituito il valore del secondo parametro, altrimenti viene restituito il valore del primo. COALESCE impiegherà i parametri da 2 a 'n' (non conosco il limite di 'n') e restituirà il valore del primo parametro che non è NULL
. Quando ci sono solo due parametri, l'effetto è lo stesso di ISNULL
.
Inoltre, Oracle SQL non ha ISNULL. Sebbene, secondo la mia esperienza, potresti ottenere risultati migliori con NVL(): http://docs.oracle.com/cd/B19306_01/server.102/b14200/functions105.htm – Darren
Proprio quello che stavo cercando - postgres non ha isnull ether. –
Isnull non ha funzionato come previsto in MySQL. Coalesce ha fatto il lavoro. Grazie. – George
vorrei provare questo:
select sum (case when TotalHousM is null then 0 else TotalHousM end)
+ (case when TotalHousT is null then 0 else TotalHousT end)
+ (case when TotalHousW is null then 0 else TotalHousW end)
+ (case when TotalHousTH is null then 0 else TotalHousTH end)
+ (case when TotalHousF is null then 0 else TotalHousF end)
as Total
From LeaveRequest
Just for reference, the equivalent statement for MySQL is: IFNull(Column,0).
Questa dichiarazione viene valutata come valore colonna se non nullo, altrimenti viene valutato come 0.
Se si vuole evitare l'uso IsNull valore nullo (Colonna, 1)
- 1. SQL come trovare una colonna non nullo?
- 2. Somma per valore colonna distinto in R
- 3. Campo somma SQL quando i valori delle colonne corrispondono a
- 4. SQL: Identificazione quale colonna ha maggior valore per ogni riga
- 5. ottenere la somma di una colonna quando raggruppati per un'altra colonna in SQL
- 6. SQL Server come impostare un valore predefinito quando la colonna è nullo
- 7. Organizzare una colonna 3 a 2 colonne twitter Bootstrap 3
- 8. Un modo efficiente per confrontare un valore NULL o un valore per una colonna in SQL
- 9. sql server: richiama il valore predefinito di una colonna
- 10. Per calcolare somma() due alias denominato colonne - in SQL
- 11. Somma di righe in base al valore della colonna
- 12. SQL: vincolo univoco quando la colonna è un determinato valore
- 13. selezionare tutte le colonne con una colonna ha un valore diverso
- 14. Selezionare una colonna fittizia con un valore fittizio in SQL?
- 15. SQL - "Colonna non può essere nullo"
- 16. Come trovare la somma di più colonne in una tabella in SQL Server 2005?
- 17. Django REST, l'immagine caricata ha valore nullo
- 18. SQL: SELECT DISTINCT di una colonna ignorando altre colonne
- 19. Valore predefinito colonna SQL con Entity Framework
- 20. SQL Server Ruota più colonne in base a una colonna
- 21. SQL conta quante volte un valore appare in più colonne?
- 22. Seleziona più colonne con una sola colonna distinta in sql
- 23. R - corrispondenza a un valore combinando valori di una colonna
- 24. Pandas raggruppa per e somma due colonne
- 25. Somma colonne con valori nulli in oracolo
- 26. Yii2 - ottenendo somma di una colonna
- 27. Dichiarazione caso SQL quando non è nullo
- 28. Raggruppamento di colonne SQL da una tabella
- 29. SQL aggiorna una colonna che ha perso l'ordine?
- 30. Non aggiornare colonna se il valore di aggiornamento è nullo
Grazie Mitchel, sto riscontrando problemi con il valore nullo. Grazie per l'input. – Yves
Yonita è la risposta di Michael ha risposto alla tua domanda segna come risposta usando il segno di spunta. – ahsteele
Ahsteele grazie. – Yves