Discussione:
istruzione IF nella query
(troppo vecchio per rispondere)
Alessio Pinato
2004-10-13 07:12:44 UTC
Permalink
come inserire un blocco if in una query da far girare su
sqlserver?

SELECT campo1, campo2, *********, campo4 FROM tabella

al posto degli asterischi vorrei mettere una condizione if
del genere

IF campo3 = 1 then
miocampo = 'ciccio'
ELSE
miocampo = 'pippo'
END IF

dove nei risultati mi aspetto un record del genere

campo1, campo2, miocampo, campo4
333 , 56 , V , 212
David
2004-10-13 07:38:54 UTC
Permalink
Post by Alessio Pinato
come inserire un blocco if in una query da far girare su
sqlserver?
SELECT campo1, campo2, *********, campo4 FROM tabella
al posto degli asterischi vorrei mettere una condizione if
del genere
IF campo3 = 1 then
miocampo = 'ciccio'
ELSE
miocampo = 'pippo'
END IF
dove nei risultati mi aspetto un record del genere
campo1, campo2, miocampo, campo4
333 , 56 , V , 212
Ciao Alessio,
prova il seguente codice T-SQL:

SELECT Campo1, Campo2,
MioCampo = CASE
WHEN Campo3 = 1 THEN 'ciccio'
-- Inserisco una condizione in più, a scopo dimostrativo
-- WHEN Campo3 = ValoreDaCOntrollare THEN 'altro valore'
ELSE 'pippo'
END,
campo4 FROM tabella
--
David
Alessio Pinato
2004-10-13 08:18:26 UTC
Permalink
grazie mille ;-)

Andrea Benedetti
2004-10-13 07:35:03 UTC
Permalink
Salve Alessio,
Post by Alessio Pinato
come inserire un blocco if in una query da far girare su
sqlserver?
SELECT campo1, campo2, *********, campo4 FROM tabella
al posto degli asterischi vorrei mettere una condizione if
del genere
IF campo3 = 1 then
miocampo = 'ciccio'
ELSE
miocampo = 'pippo'
END IF
dove nei risultati mi aspetto un record del genere
campo1, campo2, miocampo, campo4
333 , 56 , V , 212
In SQL Server esiste l'istruzione CASE.
Prova nel tuo query analyzer:

DECLARE @VALORE INT
set @valore = 2

select
case @valore
when 1 then 'valore = 1'
when 2 then 'valore = 2'
else 'valore non conosciuto' end
as nomeCampo

Saluti,
Andrea
Continua a leggere su narkive:
Loading...