[oracle_br] Recuperação de registros aos pares

2006-06-13 Por tôpico Jonas Randal Reis
Bom dia,

Alguém da lista já se deparou com a situação a seguir?
Preciso recuperar registros de uma tabela, sequencialmente e de acordo com
um filtro pré-definido.
Porém, dentro dos critérios desse filtro, a tabela deve ser dividida ao meio
e os registros recuperados aos pares da seguinte maneira:
registro 1 e registro n/2+1
registro 2 e registro n/2+2
registro 3 e registro n/2+3
Sendo que n é o total de registros da tabela a serem recuperados de acordo
com o filtro pré-definido.
Ex. para uma tabela com 1001 registros:
- Registro 1  +  Registro 502
- Registro 2  +  Registro 503
   ...   ...
- Registro 500  +  Registro 1001
- Registro 501

Qual a melhor solução?
Obrigado,

Jonas Randal Reis


[As partes desta mensagem que não continham texto foram removidas]



--
Atenção! As mensagens deste grupo são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--__

Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine 
__
O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o 
link do mesmo para evitar trafego(pedidos) desnecessário. 
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/oracle_br/

* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [oracle_br] Recuperação de registros aos pares

2006-06-13 Por tôpico Danilo Silveira
Fiz uma gambiarra do cacete, provavelmente precisa de alguns ajustes na
questão do último Where, mas funciona. ;-)

create table teste (nome number(2));

insert into teste values (1);
insert into teste values (2);
insert into teste values (3);
insert into teste values (4);
insert into teste values (5);
insert into teste values (6);
insert into teste values (7);
insert into teste values (8);
insert into teste values (9);
insert into teste values (10);

select t1.nome || ' - ' || t2.nome
from
(select nome, linha, cont
from (select row_number() over (order by nome) linha, nome from teste),
 (select count(*) cont from teste)
where cont/linha/2 =1 ) t1,
( select nome, linha, cont
from (select row_number() over (order by nome) linha, nome from teste),
 (select count(*) cont from teste)
where cont/linha/2 1 ) t2
where t1.linha = t2.linha - t1.cont/2


On 6/13/06, Jonas Randal Reis [EMAIL PROTECTED] wrote:

 Bom dia,

 Alguém da lista já se deparou com a situação a seguir?
 Preciso recuperar registros de uma tabela, sequencialmente e de acordo com
 um filtro pré-definido.
 Porém, dentro dos critérios desse filtro, a tabela deve ser dividida ao
 meio
 e os registros recuperados aos pares da seguinte maneira:
 registro 1 e registro n/2+1
 registro 2 e registro n/2+2
 registro 3 e registro n/2+3
 Sendo que n é o total de registros da tabela a serem recuperados de acordo
 com o filtro pré-definido.
 Ex. para uma tabela com 1001 registros:
 - Registro 1  +  Registro 502
 - Registro 2  +  Registro 503
...   ...
 - Registro 500  +  Registro 1001
 - Registro 501

 Qual a melhor solução?
 Obrigado,

 Jonas Randal Reis


 [As partes desta mensagem que não continham texto foram removidas]

 




-- 
Coragi
-

ExperiTV - http://experitv.blogspot.com - Canal 22 - BHGeraes - WayTV


[As partes desta mensagem que não continham texto foram removidas]



--
Atenção! As mensagens deste grupo são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--__

Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine 
__
O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o 
link do mesmo para evitar trafego(pedidos) desnecessário. 
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/oracle_br/

* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html