--- emerson lopes <[EMAIL PROTECTED]> escreveu:
> O campo id é integer... mais a ligacao, fica por
> conta do campo
> CONTA(char-8) sendo:
> 1. -> 1o Nivel
> 1.00. -> 2o Nivel
> 1.00.000 -> 3o Nivel
>
> Tem apenas 3 nivel, sendo:
> o 1o Nivel pode ser de 1 a 9
> o 2o Nivel pode ser de 00 a 99
> o 3o Nivel pode ser de 000 a 999
>
> Plano de Conta Lancamento Contabil
> +----------+ +------------+
> | conta |------------->| conta |
> | nome | | valor |
> | ... | | ... |
> ------------- +------------+
>
>
> A 1a que voce falou nao tentei... e a 2a, via SQL
> nao tentei porque sou
> péssimo em SQL... queria alguma ponta pé inicial
> para mim poder checar e chegar no resultado final...
>
> Algo assim:
>
> Select * from plano_conta (select lancamentos...) ou
> seja, ele iria mostrar
> todo o plano de contas e executar um SUM nos
> lancamentos agrupados por
> conta... como se fosse em programacao, algo do tipo:
>
> Select Plano de Contas...
> .... sum lancamento contabil
> next...
>
>
> Agradeço,
>
> Emerson
>
> Em 03/02/08, Osvaldo Kussama
> <[EMAIL PROTECTED]> escreveu:
> >
> >
> > --- emerson lopes <[EMAIL PROTECTED]>
> escreveu:
> >
> > > Caro Osvaldo,
> > > Obrigado mais uma vez pelo HELP.... segue as
> > > tabelas:
> > >
> > > - Plano de Contas
> > > id
> > > descricao
> > > debcre
> > >
> > > - lancamento contabil
> > > id
> > > id_conta
> > > valor
> > >
> > > Em síntese, as duas tabelas estão dispostas
> dessa
> > > forma... nao tendo um
> > > encadeamento(conta Pai) por exemplo...
> > > Como ficaria o SQL...?
> > >
> > > Emerson
> > >
> > >
> > >
> > > Em 02/02/08, Osvaldo Kussama
> > > <[EMAIL PROTECTED]> escreveu:
> > > >
> > > >
> > > > --- emerson lopes <[EMAIL PROTECTED]>
> > > escreveu:
> > > > >
> > > > > Preciso de uma ajuda em um SQL. Seguinte:
> > > > > Tenho a tabela de *plano de contas* e uma de
> > > > > *lançamento contabil*....
> > > > >
> > > > > Quero fazer um SQL para agrupar pela conta
> para
> > > > > montar a seguinte estrutura,
> > > > > lembrando que na tabela de lancamento, so
> tenho
> > > as
> > > > > contas analiticas, ou
> > > > > seja,
> > > > > as contas de de nivel 3, exemplo: 1.01.001
> > > > > conta - nome - valor
> > > > > 1.00.000 - Receitas - 1.000,00
> > > > > 1.01.001 - Vendas a vista 600,00
> > > > > 1.01.002 - Vendas a prazo 400,00
> > > > >
> > > >
> > > >
> > > > Você não informou como está definida sua
> tabela
> > > *plano
> > > > de contas*.
> > > >
> > > > Se ela tiver algum tipo de encadeamento
> informando
> > > > para cada conmta qual é a conta pai talvez o
> > > módulo
> > > > contrib/tablefunc/connectby possa ajudar.
> > > >
> > > > Se não existir qualquer tipo de encadeamento
> > > talvez a
> > > > utilização de um SUM com GROUP BY pela parte
> do
> > > código
> > > > da conta correspondente (por ex. x.yy -
> > > > substr(conta,1,4)) possa atender parcialmente.
> > > >
> >
> >
> > Podemos então descartar a utiçização da função
> > connectby.
> >
> > O campo id da tabela plano de contas é um campo
> > numérico, um char(8) ou um varchar(n)?
> >
> > Quantos níveis tem seu plano de contas, apenas 3,
> mais
> > ou pode ser um número variável de níveis?
> >
> > Você tentou a segunda opção de minha resposta
> > anterior? Qual foi o resultado?
> >
>
Caro Emerson:
Para ser ajudado em uma lista é importante querer ser
ajudado.
Em minha primeira resposta eu já falei que você não
havia informado a estrutura de suas tabelas. Em sua
resposta você informou parcialmente e de sua resposta
subentendi que na tabela lancamento contabil o campo
id_conta referenciava o campo id da tabela Plano de
Contas mas, pela sua última resposta, a estrutura
parece não ser bem essa, agora você falou de um campo
conta que não havia sido mencionado até o momento.
Outro ponto é onde você fala em "programação". Creio
que o que você está querendo dizer é alguma coisa de
forma procedimental (ou procedural, como preferem
alguns). Ora o SQL é uma linguagem *declarativa* e não
*procedimental*. Você tem que pensar na forma de
*conjunto*, isto é, qual é o conjunto de dados que
você deseja como resposta e especificar detalhadamente
as condições que cada dado tem que satisfazer para ser
incluido no resultado desejado e não especificar *o
como* incluir no resultado (primeiro faça isso e
depois aquilo etc).
Vamos recomeçar com você colocando aqui as DLL de suas
tabelas.
Osvaldo
Abra sua conta no Yahoo! Mail, o único sem limite de espaço para
armazenamento!
http://br.mail.yahoo.com/
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral