Jump to content
Fórum Script Brasil
  • 0

(Resolvido) Consultar valores diferentes entre duas tabelas


Question

Galera como não achei isso em especifico no forum to colocando como minha duvida de iniciante. Vamos lá! Tenho duas tabelas onde em ambas tenho uma coluna chamada CodITEM. Na tabela "A" tenho como codigo os numeros: 001, 002, 003, 004 e 005 e na tabela "B" tenho: 001, 002, 003, 005. Então queria uma consulta onde eu poderia saber qual dos codigos não contem por exemplo na tabela "B" comparado com a tabela"A". :ninja:

Link to post
Share on other sites

6 answers to this question

Recommended Posts

  • 0
Galera como não achei isso em especifico no forum to colocando como minha duvida de iniciante. Vamos lá! Tenho duas tabelas onde em ambas tenho uma coluna chamada CodITEM. Na tabela "A" tenho como codigo os numeros: 001, 002, 003, 004 e 005 e na tabela "B" tenho: 001, 002, 003, 005. Então queria uma consulta onde eu poderia saber qual dos codigos não contem por exemplo na tabela "B" comparado com a tabela"A". :ninja:

Para saber quais codigos estão em ambas tabelas (o conjunto interseção de A e B) você tem:

SELECT DISTINCT A.codigo 
FROM tabela_A A
INNER JOIN tabela_B B ON B .codigo = A.codigo
Para saber o resultado de A - B nos conjuntos acima, teremos:
SELECT A.codigo
FROM tabela_A A
WHERE A.codigo NOT IN (SELECT B.codigo FROM tabela_B B)

Link to post
Share on other sites
  • 0
Muito obrigado Denis rodou 100% e para fazer uma gama maior de consultas como usaria por exemplo o "left outer join" no mysql?

Seja a tabela_A = {1,2,3,4,5} e a tabela_B = {1,2,3,4,6}. O LEFT JOIN entre tabela_A e tabela_B trará todos os elementos de tabela_A e os elementos de tabela_B que forem iguais aos elementos de tabela_A

SELECT A.cod AS A, B.cod AS B
FROM tabela_A A
LEFT JOIN tabela_B B ON B.cod = A.cod
O resultado será
A B
1 1
2 2
3 3
4 4
5 NULL

Link to post
Share on other sites
  • 0
Não entendi essa ai! :wacko:

Do que foi explicado anteriormente, o que você não entendeu?

São dois conjuntos de dados. o conjunto tabela_A e o conjunto tabela_B.

Para listar todos os elementos do conjunto tabela_A e

todos os elementos do conjunto tabela_B que sejam iguais aos elementod do conjunto tabela_A, usa-se o LEFT JOIN.

Veja novamente o exemplo no post anterior.

Link to post
Share on other sites
Guest
This topic is now closed to further replies.


  • Forum Statistics

    • Total Topics
      149296
    • Total Posts
      645693
×
×
  • Create New...