SELECT APURADO

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
carlos12
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 123
Registrado em: Qua, 24 Out 2007 4:31 pm
Localização: rio

PESSOAL TENHO UMA CONSULTA QUE ME TRAZ TODOS OS CLIENTES QUE NECESSITO.

Selecionar tudo

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?
Tineks
Rank: DBA Sênior
Rank: DBA Sênior
Mensagens: 365
Registrado em: Ter, 24 Mai 2005 2:24 pm
Localização: Araraquara - SP
Cristiano (Tineks)
Araraquara - SP

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

Selecionar tudo

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
Avatar do usuário
TBou
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 136
Registrado em: Qui, 05 Ago 2004 9:33 am
Localização: Campo Grande - MS
Thiago Bourscheidt
thiago.info@apoiorural.com.br
Analista de Sistemas

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

Selecionar tudo

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.
Responder
  • Informação
  • Quem está online

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