olhando o teu sql e imaginando a tua tabela, me veio uma pergunta...
   
  ele realmente está agrupando por tipo de visita, mas.. não é por pagou ou não 
pago que ele quer o resultado?
   
  tipo de visita = avulta ou contrato, 
   
  pagto_ok = sim ou não
   
  logo, 
   
  se você deseja dividir as linhas em pagos e não pagos tem que incluir este 
campo na consulta e no group by.
   
  o resultado do sql tá correto para o que foi escrito, está agrupando por tipo 
de visita, se você deseja o dados por pagto_ok (sim ou não) inclua-o na 
consulta e no group by. Tente:
  
select visita.vis_tipovisita, visita.vis_pagto_ok, sum(vis_valor) valortotal,

(Select Sum(vis_valor) from visita visita_pagar
  Where visita_pagar.vis_pagto_ok = 'NÃO'
    And visita_pagar.vis_tipovisita Is Not Null
    And visita_pagar.vis_tipovisita = visita.vis_tipovisita
    And visita_pagar.vis_dt_inicio > '01/01/2006') As Pagar,

(Select Sum(vis_valor) from visita visita_paga
  Where visita_paga.vis_pagto_ok = 'SIM'
    And visita_paga.vis_tipovisita Is Not Null
    And visita_paga.vis_tipovisita = visita.vis_tipovisita
    And visita_paga.vis_dt_inicio > '01/01/2006') As Pagou

from visita
where vis_tipovisita is not null
and vis_dt_inicio > '01/01/2006'
group by visita.vis_tipovisita, visita.vis_pagto_ok

   
  abs.
   
  Júlio Abdala
  
José Roberto <[EMAIL PROTECTED]> escreveu:
  Denner e Julio,

Usando este igual vcs indicaram 

SQL pelo Ibexpert (Firebird)

select vis_tipovisita, sum(vis_valor) valortotal,

(Select Sum(vis_valor) from visita visita_pagar
  Where visita_pagar.vis_pagto_ok = 'NÃO'
    And visita_pagar.vis_tipovisita Is Not Null
    And visita_pagar.vis_tipovisita = visita.vis_tipovisita
    And visita_pagar.vis_dt_inicio > '01/01/2006') As Pagar,

(Select Sum(vis_valor) from visita visita_paga
  Where visita_paga.vis_pagto_ok = 'SIM'
    And visita_paga.vis_tipovisita Is Not Null
    And visita_paga.vis_tipovisita = visita.vis_tipovisita
    And visita_paga.vis_dt_inicio > '01/01/2006') As Pagou

from visita
where vis_tipovisita is not null
and vis_dt_inicio > '01/01/2006'
group by vis_tipovisita

dá esse Resultado

VIS_TIPOVISITA      VALORTOTAL      PAGAR      PAGOU
Avulsa                  1204      249      1335
Contrato                  380      249      1335

Se eu ignorar o tipo da visita, tirando do select inicial
e do group by aí dá certo, mas aí não terei a separação que 
queria, mas por enquanto usarei desta forma, mas se alguém tiver
alguma idéia, agradeço

-----Mensagem original-----
De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
nome de Denner Bizarria Branco
Enviada em: sábado, 4 de fevereiro de 2006 07:23
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: [delphi-br] Delphi + Quick Report + SQL

nos subselects coloca o alias que voce colocou na
tabela nas condições...

(Select Sum(vis_valor) from visita visita_paga
  Where visita_paga.vis_pagto_ok = 'SIM'
    And visita_paga.vis_tipovisita Is Not Null
    And visita_paga.vis_tipovisita = visita.vis_tipovisita
    And visita_paga.vis_dt_inicio > '01/01/2006') As Pagou

José Roberto wrote:

> Fiz dessa forma mas ainda não tá legal,
>
> select vis_tipovisita tipovisita, sum(vis_valor) valortotal,
>
> (select sum(vis_valor) from visita visita_pagar
> where vis_pagto_ok = 'NÃO'
> and visita.vis_tipovisita = visita_pagar.vis_tipovisita
> AND vis_tipovisita is not null) as Receber,
>
> (select sum(vis_valor) from visita visita_paga
> where vis_pagto_ok = 'SIM'
> AND vis_tipovisita is not null
> and visita.vis_tipovisita = visita_paga.vis_tipovisita
> and vis_dt_inicio > '01/01/2006') as Pagou
>
> from visita
> where vis_tipovisita is not null
> and vis_dt_inicio > '01/01/2006'
> group by vis_tipovisita
> O resultado ta assim
>
> TIPOVISITA      VALORTOTAL      RECEBER      PAGOU
> Avulsa      1204            809            1335
> Contrato      380            809            1335
>
> Ele dá os totais mas ignora o tipo de visita nos dois subselects
>
> José Roberto
>



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






-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>



Links do Yahoo! Grupos









-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>





        Yahoo! Grupos, um serviço oferecido por:            PUBLICIDADE
 
  
---------------------------------
  Links do Yahoo! Grupos
    
   Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/
    
   Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]
    
   O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do 
Yahoo!. 



                
---------------------------------
 Yahoo! doce lar. Faça do Yahoo! sua homepage.
                
---------------------------------
 Yahoo! Acesso Grátis - Internet rápida e grátis. Instale o discador agora!

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



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

<*> Para ver as mensagens antigas, acesse:
    http://br.groups.yahoo.com/group/delphi-br/messages

<*> Para falar com o moderador, envie um e-mail para:
    [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-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

 


Responder a