Res: [firebase-br] Nº Sequencial em um select
Wilton Junior
wiltonjunior2002 em yahoo.com.br
Ter Set 18 19:54:41 -03 2007
da uma olhada nesta que eu fiz.
SET TERM ^ ;
CREATE PROCEDURE PR_GANHADORES (
pidpremio INTEGER)
RETURNS (
pntotal INTEGER,
pnidsegmentos INTEGER,
pcsegmento VARCHAR(100),
pnidcategorias INTEGER,
pccategoria VARCHAR(100),
pnnotafinal NUMERIC(7,2),
pcparticipante VARCHAR(100),
pcpeca VARCHAR(200),
pctipoinscricao VARCHAR(10))
AS
DECLARE VARIABLE vnidcategorias INTEGER;
DECLARE VARIABLE vnidsegmentos INTEGER;
DECLARE VARIABLE vcretorno VARCHAR(1000);
DECLARE VARIABLE vctipoinscricao VARCHAR(10);
BEGIN
pnTotal = 0;
vnidsegmentos = 0;
vnidcategorias = 0;
vctipoinscricao = '';
FOR SELECT i.id_segmentos,
sg.descricao segmento,
i.id_categoria,
ct.descricao categoria,
pt.nome,
i.nome_peca,
i.nota_final,
CASE i.tipo_inscricao
WHEN 'A' THEN 'Agência'
WHEN 'G' THEN 'Gráfica'
WHEN 'E' THEN 'Estudante'
END tipo_inscricao
FROM inscricao i
JOIN segmentos sg ON (i.id_segmentos = sg.id_segmentos)
JOIN categorias ct ON (i.id_categoria = ct.id_categoria AND i.id_segmentos = ct.id_segmentos)
JOIN participantes pt ON (i.id_participante = pt.id_participante)
WHERE id_premio = :pidPremio
ORDER BY i.tipo_inscricao,i.id_segmentos,i.id_categoria, i.nota_final DESC
INTO :pnIdSegmentos, :pcSegmento, :pnIdCategorias,
:pcCategoria,:pcparticipante,pcpeca, :pnNotaFinal,
:pctipoinscricao
DO
BEGIN /* begin the loop */
if (vnidcategorias <> pnidcategorias) THEN
IF (vnidsegmentos <> pnidsegmentos) THEN
pnTotal = 0;
if (vnidcategorias <> pnidcategorias) THEN
IF (vnidsegmentos = pnidsegmentos) THEN
pnTotal = 0;
if (vnidcategorias <> pnidcategorias) THEN
IF (vnidsegmentos = pnidsegmentos) THEN
if (vctipoinscricao <> pctipoinscricao) then
pnTotal = 0;
if (vnidcategorias = pnidcategorias) THEN
IF (vnidsegmentos = pnidsegmentos) THEN
if (vctipoinscricao <> pctipoinscricao) then
pnTotal = 0;
pnTotal = pnTotal + 1;
vcRetorno = CAST(pnTotal AS VARCHAR(5))||' '||pcparticipante||' '||
pcpeca ||' '|| pnIdSegmentos ||' '|| pcSegmento ||' '||pnIdCategorias||' '||
pcCategoria ||' '||pnNotaFinal||' '||pctipoinscricao;
vnidsegmentos = pnidsegmentos;
vnidcategorias = pnidcategorias;
vctipoinscricao = pctipoinscricao;
SUSPEND; /* this outputs one row per loop */
END
END^
SET TERM ; ^
Wilton Pereira Dias Júnior
JR Tecnologia
(62) 8418-1660
MSN: wiltonjunior em msn.com
----- Mensagem original ----
De: João Matheus Andrade <joao.matheus2 em terra.com.br>
Para: epaulo2002 em yahoo.com.br; FireBase <lista em firebase.com.br>
Enviadas: Terça-feira, 18 de Setembro de 2007 19:33:42
Assunto: Re: [firebase-br] Nº Sequencial em um select
Acho que seria interessante criar uma sp para resolver esse seu problema
----- Original Message -----
From: "Edson de Paulo" <epaulo2002 em yahoo.com.br>
To: <lista em firebase.com.br>
Sent: Friday, September 14, 2007 5:26 PM
Subject: [firebase-br] Nº Sequencial em um select
Alguém pode me ajudar, como faço para simular um campo sequencial em um
select. Por exemplo, quero executar o seguinte select.
SELECT Seq, Nome FROM veiculo
Quero o seguinte resultado
Seq Nome
1 Pedro
2 Paulo
3 João
4 Joaquim
5 Alguém
Lembro que o campo Seq não existe na tabela, queria saber se existe
algum comando como ROWNUM, LINE_NUM, ou similar!!
--
Edson de Paulo
Curitiba - PR
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
Flickr agora em português. Você clica, todo mundo vê.
http://www.flickr.com.br/
Mais detalhes sobre a lista de discussão lista