[firebase-br] Multiplicar o retorno de um SELECT
Paulo Casagrande
paulo em sjudas.com.br
Ter Out 16 09:53:41 -03 2007
> Denis Pereira Raymundo escreveu:
> Uma pergunta: Que situação real teve gerou essa necessidade?
Um gerador de etiquetas aonde 90% da informações
eram repetidas e controladas por um numero sequêncial.
Dá para fazer no gerador ( coisas do tipo ):
if ( REGISTRO = 1 ) and
( ParName = 'Destinatário' ) Then
ParValue := 'Mamãe';
if ( REGISTRO = 2 ) and
( ParName = 'Destinatário' ) Then
ParValue := 'Papai';
if ( REGISTRO = 3 ) and
( ParName = 'Destinatário' ) Then
ParValue := 'Titio';
PS: O exemplo é obra de ficção :)
> "Paulo Casagrande" <paulo em sjudas.com.br> escreveu
> na mensagem news:fevtbb$k91$1 em ger.gmane.org...
> Bom dia Rubem,
> Obrigado por responder !
>
> Depois de postar resolvi pensar um pouco... :)
>
> Chequei na sequinte solução
> (Não analisei totalmente os prós e os contras)
>
> Criei um SP
>
> CREATE PROCEDURE MULTIPLICA(NUMERO INTEGER)
> RETURNS(REGISTRO INTEGER)
> AS
> DECLARE VARIABLE vNUMERO INTEGER;
> BEGIN
> vNUMERO = 0;
> WHILE ( :vNUMERO < :NUMERO ) DO
> BEGIN
> vNUMERO = :vNUMERO + 1;
> REGISTRO = :vNUMERO;
> SUSPEND;
> END
> END
>
> Depois uso assim:
>
> Exemplo
>
> SELECT CLIENTE.*, MULTIPILICA.REGISTRO
> FROM CLIENTE, MULTIPILICA(3)
> WHERE...
>
>
> Quanto a sua solução é funcional,
> mas não muito pratica :)
> PS: Eu nunca tinha utilizado com o ALL,
> Obrigado
>
> T+
>
>
>> Com UNION vc resolve. Exemplo:
>>
>> SELECT CODIGO, NOME FROM TABELA
>> UNION ALL
>> SELECT CODIGO, NOME FROM TABELA
>> UNION ALL
>> (.. 'n' vezes ..)
>> UNION ALL
>> SELECT CODIGO, NOME FROM TABELA
>>
>> Não espere coisa mais simples que isso com SELECT pra resolver o seu
>> problema, pq ñ existe.
>> Sds.
>>
>>> To: lista em firebase.com.br
>>> From: paulo em sjudas.com.br
>>> Date: Mon, 15 Oct 2007 11:08:54 -0300
>>> Subject: [firebase-br] Multiplicar o retorno de um SELECT
>>>
>>> Bom dia a todos...
>>>
>>> Tem com multiplicar o retorno de um SELECT ?
>>>
>>> Tipo:
>>>
>>> SELECT CODIGO, NOME FROM TABELA
>>>
>>> Resultado seria :
>>>
>>> 1 PAULO
>>> 2 JOÃO
>>> 3 MARIA
>>>
>>> Tem como retornar assim: (n vezes)
>>>
>>> 1 PAULO
>>> 1 PAULO
>>> 1 PAULO
>>> 2 JOÃO
>>> 2 JOÃO
>>> 2 JOÃO
>>> 3 MARIA
>>> 3 MARIA
>>> 3 MARIA
>>>
>>> Obrigado
Mais detalhes sobre a lista de discussão lista