Como fazer este select ?

06/03/2006

0

Aplicação com banco de dados FireBird,

Comparar duas tabelas:

Como retornar os registros que existe na tabela1 e não exite na Tabela2

Tipo:
Select Campos 
from Tabela1 join Tabela2
on Tabela1.id_Tabela2 = Tabela2.id_Tabela2 
Where ...


Se alguem puder me ajudar eu agradeço !!!!!


Fabiano Góes

Fabiano Góes

Responder

Posts

06/03/2006

Martins

[quote:23c4b04688=´Fabiano Góes´]Aplicação com banco de dados FireBird,

Comparar duas tabelas:

Como retornar os registros que existe na tabela1 e não exite na Tabela2

Tipo:
Select Campos 
from Tabela1 join Tabela2
on Tabela1.id_Tabela2 = Tabela2.id_Tabela2 
Where ...


Se alguem puder me ajudar eu agradeço !!!!![/quote:23c4b04688]

Não fiz nenhum teste, pois não estou com nenhuma ferramenta aqui, apenas um PC com win98+office e mais nada, hehe...

Mas tente assim:
Select Campos From Tabela1 where Tabela1.Id_Tabela not in (Select Id_Tabela2 from Tabela2)


Boa sorte!!!


Responder

06/03/2006

Motta

Exemplo : USUARIOS SEM POSTS

SELECT *
FROM USUARIO
WHERE NOT EXISTS (SELECT NULL
                               FROM POSTS
                               WHERE USUARIO.CODUSU = POST.CODUSU)



Responder

07/03/2006

Martins

Exemplo : USUARIOS SEM POSTS
SELECT *
FROM USUARIO
WHERE NOT EXISTS (SELECT NULL
                               FROM POSTS
                               WHERE USUARIO.CODUSU = POST.CODUSU)


Funciona tb, valew [b:1b66e56370]Motta[/b:1b66e56370]!!!


Responder

07/03/2006

Fabiano Góes

ALGUEM PODE CORRIGIR ESTE MEU SELECT ???

SELECT E.compe_des, E.banco_des, E.agencia_des, E.conta_des,
       E.numero_doc, E.valor
FROM arq_ent_cust1_07032006_074_2 E JOIN arq_proc_cust1_07032006_074_2 P
ON E.id_previa = P.id_previa
WHERE E.numero_doc  NOT IN (SELECT P.cheque  FROM arq_proc_cust1_07032006_074_2 P) AND
      E.banco_des   NOT IN (SELECT P.banco   FROM arq_proc_cust1_07032006_074_2 P) AND
      E.agencia_des NOT IN (SELECT P.agencia FROM arq_proc_cust1_07032006_074_2 P)



Responder

07/03/2006

Martins

Primeiramente o q está acontecendo? Não lhe é retornado nada ou dá uma mensagem de erro?

Não tenho o Firebird aqui, mas acho q vc deveria tentar assim.

SELECT E.compe_des, E.banco_des, E.agencia_des, E.conta_des, 
       E.numero_doc, E.valor 
FROM arq_ent_cust1_07032006_074_2 E Left JOIN arq_proc_cust1_07032006_074_2 P 
ON E.id_previa = P.id_previa 
WHERE E.numero_doc  NOT IN (SELECT P.cheque  FROM arq_proc_cust1_07032006_074_2) AND 
      E.banco_des   NOT IN (SELECT P.banco   FROM arq_proc_cust1_07032006_074_2) AND 
      E.agencia_des NOT IN (SELECT P.agencia FROM arq_proc_cust1_07032006_074_2) 



Responder

08/03/2006

Emerson Nascimento

talvez você deva usar OR no lugar de AND:
SELECT
  E.compe_des, E.banco_des, E.agencia_des,
  E.conta_des, E.numero_doc, E.valor
FROM
  arq_ent_cust1_07032006_074_2 E
JOIN
  arq_proc_cust1_07032006_074_2 P ON (E.id_previa = P.id_previa)
WHERE
  E.numero_doc  NOT IN (SELECT cheque  FROM arq_proc_cust1_07032006_074_2) OR
  E.banco_des   NOT IN (SELECT banco   FROM arq_proc_cust1_07032006_074_2) OR
  E.agencia_des NOT IN (SELECT agencia FROM arq_proc_cust1_07032006_074_2)



Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar