Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
-
adrianatoscano
- Rank: Estagiário Pleno
- Mensagens: 5
- Registrado em: Qua, 10 Set 2008 4:08 pm
- Localização: Natal/RN
Olá colegas! Preciso saber como gerar um select que retorne os sequenciais que estão fora de uma tabela. Exemplo:
O comando deve retornar exatamente os sequenciais do campo CD_ALUNO que não existem, ou seja: 4,6,7
Alguém pode me ajudar??
God bless you!!
-
dr_gori
- Moderador
- Mensagens: 5024
- Registrado em: Seg, 03 Mai 2004 3:08 pm
- Localização: Portland, OR USA
-
Contato:
Thomas F. G
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Tem muitas formas de fazer isso.
Uma delas é usando MINUS
Selecionar tudo
SQL> select * from tabela;
NUMERO
----------
1
2
3
5
8
SQL>
SQL> select rownum from all_objects where rownum <= 10
2 minus
3 select numero from tabela
4 /
ROWNUM
----------
4
6
7
9
10
SQL>
-
adrianatoscano
- Rank: Estagiário Pleno
- Mensagens: 5
- Registrado em: Qua, 10 Set 2008 4:08 pm
- Localização: Natal/RN
Executei o seguinte comando:
Selecionar tudo
select rownum from all_objects where rownum <= 850000 minus
select cd_paciente from paciente
Porém preciso determinar que sejam exibidos apenas A PARTIR do sequencial 500000 do campo CD_PACIENTE.
Qual comando devo usar?
Alguém pode me ajudar?
-
rogenaro
- Rank: DBA Pleno
- Mensagens: 232
- Registrado em: Sex, 30 Mar 2007 7:26 pm
- Localização: Londrina - PR
Rafael O. Genaro
Selecionar tudo
select * from
(
select rownum cd_paciente from all_objects where rownum <= 850000
minus
select cd_paciente from paciente
)
where cd_paciente >= 500000
ou ainda
Selecionar tudo
select rownum + 499999 cd_paciente from all_objects where rownum <= 850000
minus
select cd_paciente from paciente
Uma outra forma de gerar as seqüências para comparação é por meio do connect by (na versão 9 ou superior):
Selecionar tudo
select level + 499999 cd_paciente from dual connect by level <= 850000
-
Usuários navegando neste fórum: Nenhum usuário registrado e 8 visitantes