[firebase-br] Existe Limite de linhas em uma consulta (SQL) ???

Carlos Eduardo carerica01 em yahoo.com.br
Dom Out 23 18:25:35 -03 2005


Pessoal Desculpe a ignorância, mas, preciso perguntar.
Como posso selecionar por ano. Exemplo o usuario seleciona na aplicação o 
ano e eu consulto com IBquery a view que esta criada conforme abaixo :

Ex : IBquery1 = select * from vismensal where ano = (:ano)
*********************************************

CREATE VIEW VISMENSAL(
    CONHECEU,
    SETEMBRO,
    OUTUBRO,
    TOTAL)
AS
Select
  Cast('LETREIRO' as VarChar(30)) as Conheceu,
  (Select count(Distinct(CM.codcli)) From Comanda CM
                   Left Outer Join Clientes CL on CM.CodCli = CL.CodCli
   Where Extract(Month From CM.Data) = 9
   and CL.Conheceu = 'LETREIRO'
   and Extract(Month From CL.dtcad) = 9) as
Setembro  ,
  (Select count(Distinct(CM.codcli)) From Comanda CM
                   Left Outer Join Clientes CL on CM.CodCli = CL.CodCli
   Where Extract(Month From CM.Data) = 10
   and CL.Conheceu = 'LETREIRO'
   and Extract(Month From CL.dtcad) = 10) as
Outubro,
  (Select count(Distinct(CM.codcli)) From Comanda CM
                   Left Outer Join Clientes CL on CM.CodCli = CL.CodCli
   Where (Extract(Month From CM.Data) =  Extract(Month From Cl.Dtcad))
   and CL.Conheceu = 'LETREIRO') as
Total
>From rdb$DATABASE

UNION

Select
  Cast('PLACA PORTA' as VarChar(30)) as Conheceu,
  (Select count(Distinct(CM.codcli)) From Comanda CM
                   Left Outer Join Clientes CL on CM.CodCli = CL.CodCli
   Where Extract(Month From CM.Data) = 9
   and CL.Conheceu = 'PLACA PORTA'
   and Extract(Month From CL.dtcad) = 9) as
Setembro  ,
  (Select count(Distinct(CM.codcli)) From Comanda CM
                   Left Outer Join Clientes CL on CM.CodCli = CL.CodCli
   Where Extract(Month From CM.Data) = 10
   and CL.Conheceu = 'PLACA PORTA'
   and Extract(Month From CL.dtcad) = 10) as
Outubro,
  (Select count(Distinct(CM.codcli)) From Comanda CM
                   Left Outer Join Clientes CL on CM.CodCli = CL.CodCli
   Where (Extract(Month From CM.Data) =  Extract(Month From Cl.Dtcad))
   and CL.Conheceu = 'PLACA PORTA') as
Total
>From rdb$DATABASE
;


Tentei , porem ainda sem sucesso.


Cadú





----- Original Message ----- 
From: "valdir.marcos" <valdir.marcos em ig.com.br>
To: <lista em firebase.com.br>
Sent: Sunday, October 23, 2005 4:23 AM
Subject: Re: [firebase-br] Existe Limite de linhas em uma consulta (SQL) ???


> Na relidade, a quantidade de caracteres no seu select é maior que o
> permitido.
> Então, divida o seu select em pedaços:
> Por exemplo:
> - para cada select abaixo crie uma view
> - depois, faça um UNION para cada view.
>
> Um abraço,
>
> Valdir Marcos
>
>
>
> Em (04:01:15), FireBase escreveu:
>
>
>>Opa Valdir Marcos, é a mesma que recebi sua ajuda .
>>Aconteceu que precisei ajustar os parametros e tudo ficou perfeito , porem
>>minha lista de como nos conheceu tem 40 itens e preciso condicionar tambem
>>por 12 meses, o que torna o sql maior ainda, entretanto quando cheguei +-
> no
>>décimo segundo item (UNION) o dbexpress retornou esta mensagem de erro,
>>tentei no delphi e encontrei a mesma mensagem. segue abaixo parte da
>>consulta :
>>
>>Select
>> Cast('BOLSA' as VarChar(30)) as Conheceu,
>> (Select Count(Distinct(CM.codcli)) From Comanda CM
>> Left Outer Join Clientes CL on CM.CodCli = CL.CodCli
>> Where Extract(Month From CM.Data) = 8
>> and CL.Conheceu = 'BOLSA'
>> and Extract(Month From CL.dtcad) = 8) as
>>Agosto ,
>> (Select count(Distinct(CM.codcli)) From Comanda CM
>> Left Outer Join Clientes CL on CM.CodCli = CL.CodCli
>> Where Extract(Month From CM.Data) = 9
>> and CL.Conheceu = 'BOLSA'
>> and Extract(Month From CL.dtcad) = 9) as
>>Setembro ,
>> (Select count(Distinct(CM.codcli)) From Comanda CM
>> Left Outer Join Clientes CL on CM.CodCli = CL.CodCli
>> Where Extract(Month From CM.Data) = 10
>> and CL.Conheceu = 'BOLSA'
>> and Extract(Month From CL.dtcad) = 10) as
>>Outubro,
>> (Select count(Distinct(CM.codcli)) From Comanda CM
>> Left Outer Join Clientes CL on CM.CodCli = CL.CodCli
>> Where Extract(Month From CM.Data) = 11
>> and CL.Conheceu = 'BOLSA'
>> and Extract(Month From CL.dtcad) = 11) as
>>Novembro,
>>
>> (Select count(Distinct(CM.codcli)) From Comanda CM
>> Left Outer Join Clientes CL on CM.CodCli = CL.CodCli
>> Where (Extract(Month From CM.Data) = Extract(Month From Cl.Dtcad))
>> and CL.Conheceu = 'BOLSA') as
>>Total
>>>From rdb$DATABASE
>>
>>union
>>Select
>> Cast('INTERNET' as VarChar(30)) as Conheceu,
>> (Select Count(Distinct(CM.codcli)) From Comanda CM
>> Left Outer Join Clientes CL on CM.CodCli = CL.CodCli
>> Where Extract(Month From CM.Data) = 8
>> and CL.Conheceu = 'INTERNET'
>> and Extract(Month From CL.dtcad) = 8) as
>>Agosto ,
>> (Select count(Distinct(CM.codcli)) From Comanda CM
>> Left Outer Join Clientes CL on CM.CodCli = CL.CodCli
>> Where Extract(Month From CM.Data) = 9
>> and CL.Conheceu = 'INTERNET'
>> and Extract(Month From CL.dtcad) = 9) as
>>Setembro ,
>> (Select count(Distinct(CM.codcli)) From Comanda CM
>> Left Outer Join Clientes CL on CM.CodCli = CL.CodCli
>> Where Extract(Month From CM.Data) = 10
>> and CL.Conheceu = 'INTERNET'
>> and Extract(Month From CL.dtcad) = 10) as
>>Outubro,
>> (Select count(Distinct(CM.codcli)) From Comanda CM
>> Left Outer Join Clientes CL on CM.CodCli = CL.CodCli
>> Where Extract(Month From CM.Data) = 11
>> and CL.Conheceu = 'INTERNET'
>> and Extract(Month From CL.dtcad) = 11) as
>>Novembro,
>>
>> (Select count(Distinct(CM.codcli)) From Comanda CM
>> Left Outer Join Clientes CL on CM.CodCli = CL.CodCli
>> Where (Extract(Month From CM.Data) = Extract(Month From Cl.Dtcad))
>> and CL.Conheceu = 'INTERNET') as
>>Total
>>>From rdb$DATABASE
>>
>>union
>>
>>Select
>> Cast('LETREIRO' as VarChar(30)) as Conheceu,
>> (Select Count(Distinct(CM.codcli)) From Comanda CM
>> Left Outer Join Clientes CL on CM.CodCli = CL.CodCli
>> Where Extract(Month From CM.Data) = 8
>> and CL.Conheceu = 'LETREIRO'
>> and Extract(Month From CL.dtcad) = 8) as
>>Agosto ,
>> (Select count(Distinct(CM.codcli)) From Comanda CM
>> Left Outer Join Clientes CL on CM.CodCli = CL.CodCli
>> Where Extract(Month From CM.Data) = 9
>> and CL.Conheceu = 'LETREIRO'
>> and Extract(Month From CL.dtcad) = 9) as
>>Setembro ,
>> (Select count(Distinct(CM.codcli)) From Comanda CM
>> Left Outer Join Clientes CL on CM.CodCli = CL.CodCli
>> Where Extract(Month From CM.Data) = 10
>> and CL.Conheceu = 'LETREIRO'
>> and Extract(Month From CL.dtcad) = 10) as
>>Outubro,
>> (Select count(Distinct(CM.codcli)) From Comanda CM
>> Left Outer Join Clientes CL on CM.CodCli = CL.CodCli
>> Where Extract(Month From CM.Data) = 11
>> and CL.Conheceu = 'LETREIROS'
>> and Extract(Month From CL.dtcad) = 11) as
>>Novembro,
>>
>> (Select count(Distinct(CM.codcli)) From Comanda CM
>> Left Outer Join Clientes CL on CM.CodCli = CL.CodCli
>> Where (Extract(Month From CM.Data) = Extract(Month From Cl.Dtcad))
>> and CL.Conheceu = 'LETREIRO') as
>>Total
>>>From rdb$DATABASE
>>
>>.
>>.
>>.
>>.
>>etc ...
>>
>>Cadú
>>
>>----- Original Message ----- 
>>From: "valdir.marcos"
>>To:
>>Sent: Sunday, October 23, 2005 3:31 AM
>>Subject: Re: [firebase-br] Existe Limite de linhas em uma consulta (SQL)
> ???
>>
>>> Qual a consulta?
>>>
>>> Um abraço,
>>>
>>> Valdir Marcos
>>>
>>>
>>>
>>> Em (03:00:39), FireBase escreveu:
>>>
>>>
>>>>Boa Noite Pessoal
>>>>
>>>>Estou criando uma consulta que esta retornando a seguinte mensagem de
>>>>erro.
>>>>
>>>>Invalid token.
>>>>invalid request BLR at offset 661.
>>>>context already in use (BLR error).
>>>>
>>>>Alguem ja viu ?
>>>>
>>>>Abraços ,
>>>>
>>>>Cadú
>>>>______________________________________________
>>>>FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.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.bavs.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
>>
>>_______________________________________________________
>>Promoção Yahoo! Acesso Grátis: a cada hora navegada você acumula cupons e
>>concorre a mais de 500 prêmios! Participe! http://yahoo.fbiz.com.br/
>>
>>______________________________________________
>>FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.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.bavs.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 


	

	
		
_______________________________________________________ 
Promoção Yahoo! Acesso Grátis: a cada hora navegada você acumula cupons e concorre a mais de 500 prêmios! Participe! http://yahoo.fbiz.com.br/





Mais detalhes sobre a lista de discussão lista