Olá pessoal!
Estou utilizando ORACLE so para saberem em que linguagem estou(PL/SQL óbvio).
Quando se executa um select ele retorna várias linhas…mas eu preciso de uma das linhas que ele retorna.
Tenho uma tabela assim
Pedido Item Valor
PE1 IT1 3
PE2 IT3 6
PE2 IT4 4
PE1 IT1 1
OK, então realizo o comando:
SELECT VALOR FROM TABELA WHERE PEDIDO=‘PE1’ and ITEM=‘IT1’ and rownum=1;
3
Funciona, beleza, mas se substituir 1 por 2:
SELECT VALOR FROM TABELA WHERE PEDIDO=‘PE1’ and ITEM=‘IT1’ and rownum=2;
no data found
É claro afinal o segundo PE1 IT1 está no rownum=4.
Então…alguém sabe como pego o segundo(ou o N-éssimo) valor de um select sem estar relacionado pelo row_num?
Muito obrigado AbelBueno!
Eu sou principiante com Banco Oracle nunca tinha utilizado uma subquery, nunca tinha visto uma utilidade nisso.
Meu comando final ficou assim:
select VALOR from (select VALOR , rownum as num_linha FROM TABELA where NUM_PEDIDO=‘PE1’ and NUM_item=‘IT1’) where num_linha=2;
1
Se mudar para 1:
select VALOR from (select VALOR , rownum as num_linha FROM TABELA where NUM_PEDIDO=‘PE1’ and NUM_item=‘IT1’) where num_linha=1;