GARANTIR DESCONTO

Fórum Lista IN #28072

21/01/2005

0

Alguem sabe se tem como trazer no sql o valor que esta sendo analisado na lista IN

tipo

Select * from tabela where coluna in (´xxx´,´yyy´)

ai digamos que no banco só tenha xxx
então retornaria

coluna
--------------
xxx

gostaria de trazer os valores q estão sendo analisados pelo
in mesmo se nao tenha,
no caso queria q o ´yyy´ tbm fosse exibido.....


Acioli

Acioli

Responder

Posts

04/03/2005

Leobsn

Acioli,
Uma sugestão rápida é criar uma tabela com essa lista a ser pesquisada e fazer um ´outer join´ com as duas tabelas.

Ficaria +/- assim:

SELECT ti.campo_lista_in, tp.*
FROM tab_principal tp, tab_lista_in ti
WHERE ti.campo_lista_in = tp.coluna_in (+)

O resultado traz tudo da tabela que tem os itens da ´lista IN´ e os registros da tabela principal quando os campos do join forem iguas, ou seja, se existe na ´lista IN´ e não existe na principal, ele traz o campo_lista_in e ´null´ para o resto.

Vc pode acessar http://www.imasters.com.br/artigo.php?cn=240&cc=86 e ver os conceitos de JOINS (os exemplos são em SQL Server, mas o conceito serve para qq BD)

Espero ter ajudado.

Boa sorte!


Responder

Gostei + 0

04/03/2005

Motta

já vi casos deste tipo assim :

tabela cliente e cidade

diga quantos clientes tenho por cidade inclusive nas que nao houver


select cidade.nome,count(cliente.cod)
from cliente,cidade
where cliente.cod_cid = cidade.cid
union all
select cidade.nome,0
where not exists (select null
                          from cliente 
                           where cliente.cod_cid = cidade.cid)
                         
 


é isto ?


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar