[CONSULTA SQL] PARA ACHAR NAO EXISTENTES
BOM DIA, SENHORES
ALGUéM PODERIA ME AJUDAR COM UMA CONSULTA QUE, BASEADA EM UMA RELAÇÃO DE TABELAS (DUAS) APRESENTE APENAS OS VALORES QUE EXISTE EM UMA DELAS QUE NÃO EXISTA NA OUTRA?
VALEU!!!
ALGUéM PODERIA ME AJUDAR COM UMA CONSULTA QUE, BASEADA EM UMA RELAÇÃO DE TABELAS (DUAS) APRESENTE APENAS OS VALORES QUE EXISTE EM UMA DELAS QUE NÃO EXISTA NA OUTRA?
VALEU!!!
Amigo, VBALLAN
Use.
Use.
SELECT store_type FROM stores
WHERE EXISTS (SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type);
Amigo Jesuel,
Obrigado pela resposta.
Tentei usar aqui no Access, mas não deu certo.
Veja bem, preciso que ele compare as tabelas [Ô]Base[ô] com a [Ô]Mer[Ô] usando como critério os campos: geografia, cidade e tÃtulo (que existem nas duas tabelas) e só me traga as linhas que não contem na tabela Base.
Obrigado pela resposta.
Tentei usar aqui no Access, mas não deu certo.
Veja bem, preciso que ele compare as tabelas [Ô]Base[ô] com a [Ô]Mer[Ô] usando como critério os campos: geografia, cidade e tÃtulo (que existem nas duas tabelas) e só me traga as linhas que não contem na tabela Base.
Alguém ai sabe?
Barros,
Testando aqui.
Inseri no NOT IN mais critérios como o cidade e Titulo pois eles podem se repetir.
Está demorando para abrir a consulta, é normal? tenho mais de 40 mil linhas em cada tabela.
Valeu!
Testando aqui.
Inseri no NOT IN mais critérios como o cidade e Titulo pois eles podem se repetir.
Está demorando para abrir a consulta, é normal? tenho mais de 40 mil linhas em cada tabela.
Valeu!
Nada?
SELECT * FROM Tb_A LEFT OUTER JOIN
Tb_B ON Tb_A.cdUnidGestora = Tb_B.cdUnidGestora AND Tb_A.dtAno = Tb_B.dtAno AND Tb_A.nrCCorrente = Tb_B.nrCCorrente
WHERE (Tb_B.dtAno IS NULL)
Obs: Ler TB_A, ligando com TB_B, selecionando o que for null na TB_B, ou seja o que não tiver correspondente na Tb_B
Tb_B ON Tb_A.cdUnidGestora = Tb_B.cdUnidGestora AND Tb_A.dtAno = Tb_B.dtAno AND Tb_A.nrCCorrente = Tb_B.nrCCorrente
WHERE (Tb_B.dtAno IS NULL)
Obs: Ler TB_A, ligando com TB_B, selecionando o que for null na TB_B, ou seja o que não tiver correspondente na Tb_B
JCARLOS,
Cara parece que deu certo. Ainda tenho uma dúvida, como retorio os dados da TB_B que vem na consulta. Preciso só dos dados da TB_A.
Como é no ACCESS ele é bem tenso de fazer.
Ainda preciso validar mas acredito que está sendo isso mesmo.
Aguardo o retorno da dúvida para fechar o tópico.
Abraços. e Obrigado por enquanto.
Cara parece que deu certo. Ainda tenho uma dúvida, como retorio os dados da TB_B que vem na consulta. Preciso só dos dados da TB_A.
Como é no ACCESS ele é bem tenso de fazer.
Ainda preciso validar mas acredito que está sendo isso mesmo.
Aguardo o retorno da dúvida para fechar o tópico.
Abraços. e Obrigado por enquanto.
é Só trocar o Select * por Select Tb_A.Campo1,Tb_A.Campo2,Tb_A.Campo3,Tb_A.Campo4 ........
Aliás, é uma boa prática sempre indicar os campos que se deseja, evitar sempre o * que melhora a performance.
Abraços.
Aliás, é uma boa prática sempre indicar os campos que se deseja, evitar sempre o * que melhora a performance.
Abraços.
Tente umas dessas maneiras verifica se te ajuda
ou
ou
Espero ter ajudado
SELECT * FROM TB_PRIMEIRA WHERE CODIGO > 100
EXCEPT
SELECT * FROM TB_SEGUNDA WHERE CODIGO > 100
ou
SELECT *
FROM TB_PRIMEIRA P
LEFT JOIN TB_SEGUNDA S ON (P.CODIGO = S.CODIGO)
WHERE P.CODIGO > 100
ou
SELECT *
FROM TB_PRIMEIRA P
WHERE NOT EXISTS (
SELECT *
FROM TB_SEGUNDA S
WHERE P.CODIGO = S.CODIGO
)
AND P.CODIGO > 100
Espero ter ajudado
Tópico encerrado , respostas não são mais permitidas