Roberto, acho que também não tá certa essa linha do subselect Where visita_pagar.vis_pagto_ok = 'NÃO' And visita_pagar.vis_tipovisita Is Not Null And visita_pagar.vis_tipovisita = visita.vis_tipovisita
experimente simplesmente Where visita_pagar.vis_pagto_ok = 'NÃO' And visita_pagar.vis_tipovisita = visita.vis_tipovisita abs. Júio Abdala José Roberto <[EMAIL PROTECTED]> escreveu: A questão eh que só separa corretamente para o primeiro select no subselect ele coloca os mesmos valores desconsiderando o tipo da visita, veja o resultado que eu havia passado msn: [EMAIL PROTECTED] José Roberto -----Mensagem original----- De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Julio Abdala Enviada em: sábado, 4 de fevereiro de 2006 23:14 Para: delphi-br@yahoogrupos.com.br Assunto: Re: RES: [delphi-br] Delphi + Quick Report + SQL 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 >>>>> 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! 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