Olá Anderson,

  Select na  Compromissos excluindo o codigo 7 e um union de Select 
na Compromissos_rateio.....

   Select C.DESCRICAO, sum(CP.VALOR)
   from centro_custo C, compromissos CP
   where C.cen_codigo=CP.cen_codigo and CP.cen_codigo<>7 ... (outras 
condições necessárias)
   group by C.Descricao
   Union all
   Select C.DESCRICAO, sum(CPR.VALOR)
   from centro_custo C, compromissos_rateio CPR
   where C.cen_codigo=CPR.cen_codigo and ... (outras condições 
necessárias)
   group by C.Descricao


   Problema irá duplicar empresas que tenham dados na compromissos e 
rateio....  Se utilizar o quickreport dá para criar um qrgroup de 
empresa...


  Outra solução....  Criar uma tabela temporária, gravar nesta 
temporária o Select da Compromissos e da Compromissos_rateio.... 
Neste caso, com os dados na temporária, você faz o Select que 
quiser....   Dependendo do banco de dados(PARADOX NÃO É BANCO DE 
DADOS!!!!, é uma ofensa aos bancos de dados chamar paradox de banco 
de dados...), tem opção de criação de tabela temporária somente para 
este fim... Exemplo: Create global temporary table....  Create 
Temporary table.... Ao finalizar a sessão a temporária é "LIMPA"...  
Se for *PARADOX*, pode-se criar uma tabela e apagá-la ao final.... 
tipo 'xtemp'+contador....


  Um abraço e boa sorte,

   Carlos
  

--- Em delphi-br@yahoogrupos.com.br, "Anderson Cichon" 
<[EMAIL PROTECTED]> escreveu
> Pessoal, estou com uma consulta aqui e não consigo
> fazer de forma alguma, preciso de ajuda por favor.
> 
> A situação é mais ou menos a seguinte.
> 
> Tenho 3 tabelas com a seguinte estrutura:
> 
> Tabela CENTRO_CUSTO:
> CEN_CODIGO    |       DESCRICAO
> 1             |       MATRIZ
> 2             |       FILIAL 1
> 3             |       FILIAL 2
> 4             |       FILIAL 3
> 7             |       RATEIO DO VALOR
> 
> Tabela COMPROMISSOS:
> COM_CODIGO    | CEN_CODIGO | VALOR   | DESCRICAO
> 1             | 2              | 150,00  | Pgto. Água
> 2           | 7          | 200,00  | Pgto. ISS (Rateio entre 
filiais)
> 
> Tabela COMPROMISSOS_RATEIO
> COM_CODIGO | CEN_CODIGO | VALOR
> 2          | 1          | 60,00
> 2          | 2          | 40,00
> 2          | 3          | 50,00
> 2          | 4          | 50,00
> 
> 
> O programa funciona da seguinte maneira:
> Ele grava todos os compromissos a pagar na tabela
> COMPROMISSOS, sempre indicando qual o centro de custo
> a qual o compromissos esta sendo pago, mas, caso o
> centro de custo seja 7 - RATEIO DO VALOR
> então, grava-se no campo VALOR da tabela COMPROMISSOS
> o valor total do compromisso, e na tabela COMPROMISSOS_RATEIO
> grava-se o valor desse compromisso com o rateio para cada
> centro de custo como no exemplo a cima, onde para o CODIGO 2
> na tabela COMPROMISSOS foi indicado o CODIGO 7 no campo CEN_CODIGO,
> portanto, para o valor desse compromissos, foi feito o rateio na
> tabela COMPROMISSOS_RATEIO, onde cada filial foi responsavel por
> uma certa quantia do valor total.
> 
> Bom, na verdade foi feito dessa maneira, porque o programa não foi
> projetado para ratear o valor entre as filias, isso apareceu
> depois de pronto, então teve que ser "contornado" o problema.
> 
> Agora a dúvida é a seguinte, preciso fazer uma consulta que me 
mostre
> o valor total por filial, somando os valores da tabela COMPROMISSOS 
e
> agrupando por CENTRO DE CUSTO, porém, caso o centro de custo seja o
> RATEIO DO VALOR, então a consulta precisa achar esse compromisso na
> tabela COMPROMISSOS_RATEIO, e somar ele no valor total.
> 
> Deu pra entender?
> 
> Bom, se alguém tiver alguma opinião de como fazer, fico muito
> agradecido...
> 
> 
> Obrigado pela colaboração
> 
> Anderson
> 






-- 
<<<<< 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] ou [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