oracle - Oracle - Dúvida SQL
Perguntas � oracle � Oracle - Dúvida SQL
Oracle - Dúvida SQL
Vocês podem me ajudar com algum select que eu possa encontrar uma lista de clientes que não estão em uma determinada tabela (tabela nfs)?
tabela clientes (recebo em excel, não tenho no banco)
cod_cliente 50100 20200 10201 85123
tabela nfs
cad_clientenf 50100 20200 11111 55215 15641 54871 51651 56456
No exemplo, o select deveria trazer os códigos 85123 e 10201, que não estão na tabela nfs. Obs: a tabela cad_nota pode trazer outros códigos.
Atualmente eu faço um select e no excel um PROCV pra saber quais ainda não estão na cad_clientenf...
SELECT cad_clienten FROM nfs WHERE cad_clientenf IN ('50100', '20200', '10201', '85123')
Agradeço se puderem ajudar! ;)
jczxx
Inner Join não te ajuda? Veja mais detalhes em: http://www.w3schools.com/sql/default.asp
— João F.S. Junior 19 de ago de 2015
acabei não sendo claro, mas a tabela clientes tenho em Excel, são dados que recebo de terceiros...
— jczxx 19 de ago de 2015
Pelo que entendi, você precisa disso:
SELECT cod_cliente FROM clientes WHERE cod_cliente NOT IN (SELECT cad_clientenf FROM nfs);
Caso use PL/SQL Developer, crie uma tabela com a estrutura que deseja, faça um for update, ex: select * from suaTabelaCliente for update e então copie do Excel e cole diretamente no PL/SQL Developer. Daí você procede como o felipe sugeriu
— Ramon Borges 19 de ago de 2015
não uso (developer) e nem posso criar tabela nesse banco (só tenho permissão de consulta - cliente do exterior), eu teria que colocar os campos mesmo... :( mas obrigado pela ajuda!
tabém pode ser feito assim:
from nfs nf
where cl.cod_cliente = nf.cad_clientenf)
a tabela clientes eu recebo um excel, não tenho como buscar no banco :/ eu coloco os valores diretamente... ex: IN ('50100', '20200', '10201', '85123') sabes me dizer como posso fazer?
JCZXX, neste caso, infelizmente você vai morrer na função PROCV do Excel mesmo.
O que você pode fazer para minimizar seu trabalho braçal e repetitivo, de selecionar os dados no Oracle, copiar para o Excel para daí começar a trabalhar, é que você pode criar uma conexão para o Oracle a partir do seu Excel através de ODBC. E assim acessar a tabela Oracle diretamente em seu Excel, podendo manipulá-la normalmente. Qualquer alteração que faça na planilha do Excel, não refletirá diretamente no Banco, portanto não precisa se preocupar com isso.
Segue um link para isto: https://support.office.com/pt-br/article/Conectar-a-um-banco-de-dados-Oracle-d7fbd231-a705-4eb7-83b3-a66bfb678395
Você poderia usar o CSV Comp Framework e criar um banco em csv e fazer muito mais que consultas. http://adl-server.com.br/api/home.html
Não é a resposta que estava procurando? Procure outras perguntas com as tags oracle sql ou faça a sua própria pergunta.