Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

guiamericano

IF no SQL

Recommended Posts

segue exemplo do bol (books online) do sql server 2000:

 

USE PUBS;IF (SELECT AVG(price) FROM titles WHERE type = 'mod_cook') < $15BEGIN   PRINT 'The following titles are excellent mod_cook books:'   PRINT ' '   SELECT SUBSTRING(title, 1, 35) AS Title   FROM titles   WHERE type = 'mod_cook' ENDELSE   IF (SELECT AVG(price) FROM titles WHERE type = 'mod_cook') > $15BEGIN   PRINT 'The following titles are expensive mod_cook books:'   PRINT ' '   SELECT SUBSTRING(title, 1, 35) AS Title   FROM titles   WHERE type = 'mod_cook' END

:natalbiggrin:

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa beleza

 

exemplo de IF

declare @condicao as int --declaracao de variavelset @condicao = 1 --atribuicao de valor na variavel (mude este valor pra 2 e 3 para testar a condicional ELSE e WHEN)-->exemplo com IF if @condicao = 1 --condicao IFbegin	select 'tricolor tricampeão da libertadores'endelse if @condicao = 2 --condicao ELSE IFbegin	select 'tricolor tricampeão mundial'endelse --condicao ELSEbegin	select 'tricolor campeão paulista 2005'end-->exemplo com CASEselect 	case @condicao 		when 1 then			'tricolor tricampeão da libertadores'		when 2 then			'tricolor tricampeão mundial'		else			'tricolor campeão paulista 2005'		end

dica: para testes e melhor entendimento, execute as instruções no sql query analiser antes de implementar

 

falows

:natalwink:

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa beleza

 

exemplo de IF

declare @condicao as int --declaracao de variavel
set @condicao = 1 --atribuicao de valor na variavel (mude este valor pra 2 e 3 para testar a condicional ELSE e WHEN)

-->exemplo com IF 
if @condicao = 1 --condicao IF
begin
select 'tricolor tricampeão da libertadores'
end
else if @condicao = 2 --condicao ELSE IF
begin
select 'tricolor tricampeão mundial'
end
else --condicao ELSE
begin
select 'tricolor campeão paulista 2005'
end

-->exemplo com CASE
select 
case @condicao 
	when 1 then
		'tricolor tricampeão da libertadores'
	when 2 then
		'tricolor tricampeão mundial'
	else
		'tricolor campeão paulista 2005'
	end

 

dica: para testes e melhor entendimento, execute as instruções no sql query analiser antes de implementar

 

falows

:natalwink:

 

Cara, muito legal o exemplo!!!! Salve Tricolor...

 

Estou só com 1 duvida; Teria como fazer uma condicional dentro do JOIN?

Ex:

 

SELECT * FROM (

      SELECT campo1, campo2, campo 3 FROM TABELA WHERE DELETE = 0  

)  AS Informacoes INNER JOIN (

     SELECT campo1, campo2, campo3, campo4, campo5 FROM TABELA_2 WHERE DELETE = 0 ) as Atributos 

             -- NORMALMENTE EU COLOCARIA O ON AQUI;
            ON ( Informacoes.campo1 = Atributos.campo1 )
                AND ( Informacoes.campo2 = Atributos.campo2 )
                    AND ( Informacoes.campo3 = Atributos.campo3 )

             -- AGORA VEM A PERGUNTA, POSSO FAZER ISSO ou TERIA COMO FAZER ALGO ASSIM:
             CASE Informacoes.campo1
                 WHEN 1
                     THEN ON ( Informacoes.campo1 = Atributos.campo1 )
             END 
             CASE Informacoes.campo2
                 WHEN 1
                     THEN ON ( Informacoes.campo2 = Atributos.campo2 )
             END 
             CASE Informacoes.campo3
                 WHEN 1
                     THEN ON ( Informacoes.campo3 = Atributos.campo3 )
             END 

 

Valeu, Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.