Jump to content

Archived

This topic is now archived and is closed to further replies.

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:

Share this post


Link to post
Share on other 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:

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other sites

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.