Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá tenho um registo de uma tabela com :
lote inicio=1
lote fim 1000
Com posso fazer um select que me devolva tipo isto:
coluna 1 coluna 2
1 50
51 100
101 150
até mil
Obrigado.
Algo assim (meio gambiarra)
OBTER UMA SEQUENCIA
SELECT ROWNUM
FROM USER_TAB_COLUMNS
WHERE ROWNUM <= 1000
OBTER A ORDEM
SELECT (TRUNC(ROWNUM/50)+1) ORDEM,ROWNUM
FROM USER_TAB_COLUMNS
WHERE ROWNUM <= 1000
ARRUMANDO A SEQUENCIA
SELECT ORDEM,MIN(SEQUENCIA) SEQ1,MAX(SEQUENCIA) SEQ2
FROM
(
SELECT (TRUNC(ROWNUM/50)+1) ORDEM,ROWNUM SEQUENCIA
FROM USER_TAB_COLUMNS
GROUP BY ORDEM
ORDER BY ORDEM
Não testei (sem Oracle aqui) mas deve funcionar.
Mas para diacho isto, desculpe perguntar ?!
Corrigindo ...
SELECT ORDEM,MIN(SEQUENCIA) SEQ1,MAX(SEQUENCIA) SEQ2
FROM
(
SELECT (CEIL(ROWNUM/50)+1) ORDEM,ROWNUM SEQUENCIA
FROM USER_TAB_COLUMNS
group by ORDEM
ORDER BY ORDEM