Bom Colegas.
A questão é o seguinte: Preciso montar um select que Mostre qual a sequencia do registro em relacao aos demais.
Os Campos Chaves da Tabelas são:
Numero1, Numero2, Numero3, Data de Lancamento
O que preciso: De acordo com os Campos 1,2,3 Preciso criar uma nova coluna mostrando qual o nº do registro de acordo com o Ano e mês em relacao a data de lancamento
Numero1 | Numero2 | Numero3 | Data | Nova Coluna
----------------------------------------------------------------------------------
1 -- 1 -- 1 -- 20/08/07 15:45 -- 1
1 -- 1 -- 2 -- 21/08/07 16:20 -- 2
1 -- 1 -- 3 -- 21/09/07 15:30 -- 1
1 -- 1 -- 4 -- 21/09/07 18:00 -- 2
1 -- 1 -- 5 -- 21/09/07 18:01 -- 3
Bom o resultado que espero é esse.
alguém tem ideia de como posso fazer isso???
Agradeço a todos por toda a atenção...
Como montar esse Select?
- 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
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Isso você vai conseguir com a função analítica ROW_NUMBER.
Leia sobre isso aqui no forum, deve ter vários exemplos.
Se o seu banco não suporta funções analíticas, talvez o ideal seja criar uma procedure que faça o serviço.
Abaixo, deixo um:
Leia sobre isso aqui no forum, deve ter vários exemplos.
Se o seu banco não suporta funções analíticas, talvez o ideal seja criar uma procedure que faça o serviço.
Abaixo, deixo um:
SELECT ename "Ename", deptno "Deptno", sal "Sal",
SUM(sal)
OVER (ORDER BY deptno, ename) "Running Total",
SUM(SAL)
OVER (PARTITION BY deptno
ORDER BY ename) "Dept Total",
ROW_NUMBER()
OVER (PARTITION BY deptno
ORDER BY ENAME) "Seq"
FROM emp
ORDER BY deptno, ename
/
Ename Deptno Sal Running Total Dept Total Seq
------ ------ ------ ------------- ---------- ----
CLARK 10 2450 2450 2450 1
KING 5000 7450 7450 2
MILLER 1300 8750 8750 3
ADAMS 20 1100 9850 1100 1
FORD 3000 12850 4100 2
JONES 2975 15825 7075 3
SCOTT 3000 18825 10075 4
SMITH 800 19625 10875 5
ALLEN 30 1600 21225 1600 1
BLAKE 2850 24075 4450 2
JAMES 950 25025 5400 3
MARTIN 1250 26275 6650 4
TURNER 1500 27775 8150 5
WARD 1250 29025 9400 6
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 5 visitantes