SELECT APURADO

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
  

Mensagemem Ter, 15 Jan 2008 12:14 pm

PESSOAL TENHO UMA CONSULTA QUE ME TRAZ TODOS OS CLIENTES QUE NECESSITO.
Código: Selecionar todos
SELECT CAMPO1, CAMPO2, CAMPO3

FROM VIEW1 V

WHERE

V.CAMPO1  between '1201' and '1207'

OK ELE ME TRAZ OS CLIENTES CERTINHO MAS AGORA PRECISO SABER SE ESSES CLIENTES TEM REGISTROS EM OUTRA TABELA EX: VIEW2

E QUERO QUE ALÉM DESSES REGISTROS ELE TRAGA OS OUTROS REGISTROS CONTIDO NA OUTRA TABELA.

COMO POSSO FAZER ISSO?
carlos12
Localização: rio

Mensagemem Ter, 15 Jan 2008 12:45 pm

Acho que o exists seja a melhor opção pra essa situação, segue ai um exemplo..

Código: Selecionar todos
SELECT campo1, campo2, campo3
  FROM view1 v
WHERE v.campo1 BETWEEN '1201' AND '1207'
   AND EXISTS (SELECT 1
                 FROM view2 vd
                WHERE vd.campo1 = v.campo1)
   AND EXISTS (SELECT 1
                 FROM view3 vt
                WHERE vt.campo1 = v.campo1)


[]'s
Tineks
Localização: Araraquara - SP

Cristiano (Tineks)
Araraquara - SP

Mensagemem Qui, 17 Jan 2008 11:15 am

olá, o que você precisa eu acho que é um union para buscar os dados da outra tabela tambem veja:

Código: Selecionar todos
SELECT CAMPO1, CAMPO2, CAMPO3

FROM VIEW1 V

WHERE

V.CAMPO1  between '1201' and '1207'
union
SELECT CAMPO1, CAMPO2, CAMPO3

FROM VIEW2 V

WHERE

V.CAMPO1  between '1201' and '1207'



neste caso vai trazer oa dados da outra tabela, se necessario pode fazer um select por fora ordenando os registros das duas tabelas.
TBou
Localização: Campo Grande - MS

Thiago Bourscheidt
thiago.info@apoiorural.com.br
Analista de Sistemas



Voltar para SQL

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 5 visitantes