Ir para conteúdo

POWERED BY:

Arquivado

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

cesarcrfilho

como fazer um SELECt condicional

Recommended Posts

Senhores, boa tarde,

 

Preciso de uma ajuda numa consulta SQL. Estou utilizando o SQL Server 2008 com o BD de exemplo AdventureWorks, e preciso fazer um SELECT condicional a partir da tabela Sales.Customer (dados de cliente). Nessa tabela, temos o campo CustomerType, onde existem 2 valores possíveis: 'I' para Individual e 'S' para Store. O que eu preciso é executar um tipo de SELECT caso o CustomerType for 'I', ou outro tipo de SELECT caso 'S'.

Alguém tem alguma sugestão?

 

Obrigado!

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa!

Cara, pra ser sincero não entendi exatamente o que você precisa :P

Mas se é oq eu acho que é, tenta isso:

 

/*Declarando variavel para armazenar o status*/
Declare @variavel varchar(1)

/*Alimentando a variavel*/
set @variavel = (select CustomerType from Sales.Customer where ID = 'ID do cliente')

/*Se o valor da variavel for 'I' faça o select na tabela1*/
IF @variavel = 'I'
begin
select * from tabela1
end

/*Se não faça o select na tabela2*/
else
select * from tabela2

Espero ter ajudado, se não for isso passa mais detalhes que tento dar uma força :)

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa!

Cara, pra ser sincero não entendi exatamente o que você precisa :P

Mas se é oq eu acho que é, tenta isso:

 

/*Declarando variavel para armazenar o status*/
Declare @variavel varchar(1)

/*Alimentando a variavel*/
set @variavel = (select CustomerType from Sales.Customer where ID = 'ID do cliente')

/*Se o valor da variavel for 'I' faça o select na tabela1*/
IF @variavel = 'I'
begin
select * from tabela1
end

/*Se não faça o select na tabela2*/
else
select * from tabela2

Espero ter ajudado, se não for isso passa mais detalhes que tento dar uma força :)

 

[]'s

 

Olá!

 

Bom, vou colocar mais detalhes então. É o seguinte:

Na tabela Sales.Customer eu tenho o campo CustomerType, que pode assumir dois valores: I para Individual ou S para Store. Ou seja, efetuando um SELECT * ele vai me retornar tanto linhas com o CustomerType I quanto S. Na modelagem dos dados, quando o cliente é S eu devo fazer um SELECT 'chamando' tabelas específicas, como a que possui os dados da loja (Store). Quando é I, mesma coisa, porém selecionando tabelas e campos diferentes.

O que eu preciso é uma maneira disso aparecer no mesmo SELECT (se for possível).

Por exemplo: Eu quero selecionar os campos NomeProduto, DataDeCompra, NomeDaLoja (S) OU NomeDoCliente (I). Com esse esquema que você passou eu consigo fazer isso, mas não no mesmo SELECT (novamente, não sei se é possível o que eu estou tentando aqui).

Ah, e obrigado pela força! No que mais você puder me ajudar, agradeço :)

 

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.