Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rhuanbarros

Como fazer consulta que cruze tabelas e elimine linhas

Recommended Posts

Gente,

tenho duas tabelas no meu trabalho. As duas tem a mesma estrutura, campo código e campo nome.

 

A Tabela 1 e a Tabela 2 têm uma lista de pessoas cada uma com um código e nome.

 

Dentro da Tabela 1 há pessoas que também estão na Tabela 2. Além disso, há pessoa na Tabela 1 que não estão na Tabela 2 e vice-versa.

 

Preciso fazer uma consulta que cruze as duas tabelas e retorne somente as pessoas q estão na Tabela 1, mas não estão na Tabela 2. Ao mesmo tempo que elimine as linhas das pessoas que estão nas duas tabelas.

 

sou iniciante em comandos SQL,

to quebrando a cebeça nessa há um tempinho jah, na achei nada no google que me ajudasse...

 

 

Muito obrigado

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

retorne somente as pessoas q estão na Tabela 1, mas não estão na Tabela 2

 

minus

select codigo , nome
from tabela1
minus
select codigo , nome
from tabela2

 

Ao mesmo tempo que elimine as linhas das pessoas que estão nas duas tabelas.

 

intersect

 

 

select codigo , nome
from tabela1
intersect
select codigo , nome
from tabela2

eliminando da "2"

 

delete from tabela2
where codigo,nome in (select codigo , nome
                      from tabela1
                      intersect
                      select codigo , nome
                      from tabela2)

Mas, MUITO cuidado com este tipo de operação, faça uma salva antes.

 




			
		

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito obrigado pela resposta, mas agora o problema eh outro... hasudhausdha

 

acabei de descobrir que o MS Access não suporta esses comandos. Aqui no trabalho há um server Oracle que eu soh posso acessar usando o access.

 

obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas se voc~e acessa o Oracle então deveria aceitar a sintaxe.

 

Por que não acessa o Oracle via SqlPlus ou similar..

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu ja tentei instalar o Toad aqui, mas não pude acessar o banco. Apareceu a mensagem dizendo que não era permitido acesso ao oracle peloaplicativo.

 

Acho q eles bloquearam o acesso ao oracle pelo Toad pra que não é desenvolvedor.

 

pra quem não é desenvolvedor soh liberam o access.... q merda.

 

eu já tentei a explicação deste topico aqui

(http://stackoverflow.com/questions/337158/how-can-i-implement-sql-intersect-and-minus-operations-in-ms-access/337203#337203),

mas não deu certo. ela acaba retornando os valores q estão nas duas tabelas ao mesmo tempo junto...

 

SELECT DISTINCT [Rhuan codigos access copia].codigos
FROM [Rhuan codigos access copia] LEFT OUTER JOIN [Rhuan codigos planilha copia] ON [Rhuan codigos access copia].codigos = [Rhuan codigos planilha copia].codigos;

 

 

 




perquisando na internet sobre o INTERSECT e o MINUS percebi que existe uma limitação do Access para executar esses comandos.

 

acho q a minha dúvida então não é em relação ao oracle e sim ao access. tem como a moderação mudar o tópico para o forum sobre outros banco de dados. quem sabe alguem entenda mais do MS Access lah.

 

obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

A questão é realmente negociar, vejo a coisa como analista, alguns usuários aqui sabem montar sql´s básicos, mas liberar, mesmo leitura, acesso para eles é um perigo pois um sql mal feito pode "matar" o banco, sem falar no perigo de consultas que somem larajas e maçãs e achem números malucos.

 

... mas vendo a coisa pelo usuário ás vezes falta a informação vital e a equipe de TI não tem pessoal para gerá-la.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvida a situação.

Não consegui de jeito nenhum fazer a consulta por SQL no Access.

 

Mas tem uma maneira de fazer isso usando o assintente do Access.

 

Tem que clicar em criar nova consulta, e entao escolher a opção "Assistente de consulta localizar não coincidentes".

 

fica a dica

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.