Em 25 de julho de 2011 15:08, <[email protected]> escreveu: > OK. DEIXA EU SER MAIS CLARO. > > TABELA ENTRADA: > lancto integer NOT NULL, > datas date, > valor numeric(10,2) DEFAULT 0, > conta integer, > cxabco integer, > > > TABELA PLANO: > codigo integer NOT NULL, > descricao varchar(60) > > Obseve que tenho dois campos que se relacionam com a mesma tabela PLANO. > No select preciso trazer a descricao das duas contas que vem da mesma tabela > . > > SELECT a.datas,a.classi,a.conta,a.cxabco,a.historico,a.valor,b.descricao 1, > c.descricao 2 (ambos da mesma tabela PLANO) > FROM ENTRADAS a, PLANO b, HISTORICOPADRAO c > WHERE > a.conta = b.codigo and > a.cxabco = b.codigo and > > Estou montando um relatorio contabil com contra-partida. > > Não sei se agora fui mais claro ? > > > ----- Original Message ----- > From: "Osvaldo Kussama" <[email protected]> > To: "Comunidade PostgreSQL Brasileira" <[email protected]> > Sent: Monday, July 25, 2011 2:39 PM > Subject: Re: [pgbr-geral] REF. INSTRUCAO SELECT. > > > Em 25 de julho de 2011 14:25, <[email protected]> escreveu: >> BOA TARDE PESSOAL, >> >> TENHO O SELECT ABAIXO: >> >> SELECT a.datas,a.classi,a.conta,a.cxabco,a.historico,a.valor >> FROM ENTRADAS a, PLANO b, HISTORICOPADRAO c >> WHERE >> a.conta = b.codigo and >> a.cxabco = b.codigo and >> a.id_histo = c.idhistopadrao and >> a.datas between '2009-01-01' AND '2009-01-01' >> >> QUE RETORNA OS REGISTROS: >> >> DATA CLASSIFICACAO CONTA CXABCO HISTORICO >> VALOR >> ================================================================================= >> 02/01/2009 1.1.01.01.002 VENDAS MERCADORIAS CAIXA Venda nesta data. >> 230,00 >> 02/01/2009 1.1.01.01.032 RECEITAS DIVERSAS CAIXA Venda nesta data. >> 124,00 >> 02/01/2009 1.1.01.01.044 CONTAS A RECEBER CAIXA Venda nesta data. >> 456,00 >> ================================================================================= >> >> PRECISO EXECUTAR NO WHERE DUAS VEZES O MESMO CODIGO, PORQUE TENHO NA >> TABELA >> UM LANCTO >> DE CONTRA-PARTIDA. EX: >> a.conta = b.codigo and >> a.cxabco = b.codigo and >> SE EU EXECUTAR UM OU OUTRO FUNCIONA LEGAL, SE INFORMO OS DOIS, NAO RETORNA >> NADA. >> >> ALGUEM TEM ALGUMA DICA ? >> > > > Sinceramente: não entendi seu problema. > Talvez você tenha se enganado ao colocar as opções: elas são iguais. >
Você quer que a tabela PLANO tenha 2 papéis. O primeiro papel para obter a descrição associada a ENTRADAS.conta e um segundo papel para obter a descrição associada a ENTRADAS.cxabco (repare que são linhas diferentes da tabela PLANO mas, eventualmente, podem ser a mesma, não importa). O Fabrízio já indicou o caminho das pedras. Osvaldo _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
