>In una tabella di un db SQL Server Compact 4.0 ho 4 colonne di
>tipo "int"
>In una query aggiungo una colonna che dovrebbe controllarmi il
>contenuto di queste 4 colonne e se in tutte ho valore NULL allora
>mi restituisce 'TUTTI' viceversa mi dovrebbe restituire NULL.
>Questo è quello che ho scritto:
>
>SELECT ....., CASE WHEN (U06 + U08 + U10 + U12) IS NULL THEN
>'TUTTI' END AS Tutti, ...
>
>Il problema è che mi restituisce sempre TUTTI anche se una delle
>colonne è, ad esempio, 1.
>
>Dove sbaglio?
Ciao Alex,
Sbagli nel credere che 1 + NULL sia 1 mentre in realtà è NULL.
Qui trovi spiegato cos'è NULL:
http://msdn.microsoft.com/en-us/library/ms191504.aspx
Per risolvere il tuo problema è sufficiente testare singolarmente ogni colonna nel seguente modo:
SELECT...
CASE WHEN (
U06 IS NULL AND
U08 IS NULL AND
U10 IS NULL AND
U12 IS NULL
) THEN 'TUTTI'
END AS Tutti
...
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/