Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Select Sum in visual studio 2008 e sqlserver 2005 express
martedì 31 marzo 2009 - 16.48
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Mau67
Profilo
| Expert
917
messaggi | Data Invio:
mar 31 mar 2009 - 16:48
Ciao al forum, ho il seguente problema, con una select in un winform devo sommare le quantità di una tabella, il
problema è che nella tabella ci possono essere valori nulli e quindi mi va in errore mi correggete questa select
affinchè la somma di valori nullo diventino zero!
SELECt Sum(Quantità) from miatabella
Grazie in anticipo
Mau67
Gianni77
Profilo
| Junior Member
143
messaggi | Data Invio:
mar 31 mar 2009 - 16:56
SELECt Sum(Quantità) from miatabella WHERE Quantità Not Null
non so se "Not Null" va bene per SQL Express ma comunque il concetto è questo
Mau67
Profilo
| Expert
917
messaggi | Data Invio:
mar 31 mar 2009 - 17:14
Scusa nella select ho dimenticato un parametro
SELECT Sum(Quantità) from MiaTabella WHERE ID = '"TextBox1.Text"'"
Praticamente può succedere che la somma della quantità di quel determinato ID abbia tutti valori nulli è quindi vorrei che la somma di valori nulli tornasse zero.
Perchè poi il risultato lo devo sottrarre ad un altra select e quindi mi solleva l'eccezione DBNULL.
Non so se sono stato chiaro
Ciao
Mau67
ysdemarc
Profilo
| Expert
587
messaggi | Data Invio:
mar 31 mar 2009 - 18:18
sel ill problema è che nel campo quantita puoi avere valori null allora è ottima la risposta precedente
ossia:
SELECT Sum(Quantità) from MiaTabella WHERE ID = tuovalore AND Quantita IS NOT NULL
se invece il problema è che la sommatoria ti restituisce valore null e al posto di quella vorresti 0
allora potresti scrivere
SELECT (CASE WHEN Sum(Quantità) IS NULL THEN 0 ELSE Sum(Quantità) END) from MiaTabella WHERE ID = tuovalore AND Quantita IS NOT NULL
oppure puoi gestire da codice il tuo DBNull con qualcosa del genere
int result := 0;
if dr["Quantita"] != DBNull.Value
{
result = (int)dr["Quantita"] ;
}
dove dr è il campo DataRow dove vanno a finire i dati e quantità il sinonimo della sommatoria del campo della select
Vincenzo
Programmatore sbilenco
Mau67
Profilo
| Expert
917
messaggi | Data Invio:
mar 31 mar 2009 - 18:50
ok grazie
Mau67
R3GM4ST3R
Profilo
| Junior Member
196
messaggi | Data Invio:
mar 31 mar 2009 - 21:22
Ciao,
ma se fai
SELECT Sum(isnull(Quantità,0)) AS SOMMA from MiaTabella WHERE ID = tuovalore
Esegui il tutto dalla query SQL!
Praticamente sostituisci alle eventuali righe null il numero 0 che sommato alle altre righe non altera il risultato.
Ciauz
Tutti sanno che una cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. (Albert Einstein)
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !