[pgbr-geral] Otimizar consulta com LEFT JOIN

2010-06-21 Por tôpico Mozart Hasse
Olá Eduardo,

> Depois de ler a técnica tentei de todo jeito mas não fui muito feliz...

 Vamos mudar o placar então.
 Não conheço a regra de negócio dessas tabelas, mas pelo que entendi são 
duas
 subconsultas independentes, sendo assim, vejamos:
 * o segundo UNION não pode ter os INNER que você colocou no primeiro, basta
 ter o NOT EXISTS.
 * são DOIS outer joins, logo você pode precisar de até 4 subconsultas (3
 unions)
 Então sua consulta ficará:
 1. Consulta original trocando OUTER por INNER
 2. Consulta original trocando OUTER por INNER no primeiro LEFT e trocando o
 segundo LEFT por um WHERE NOT EXISTS
 3. Consulta original trocando OUTER por INNER no segundo LEFT e trocando o
 primeiro LEFT por um WHERE NOT EXISTS
 4. Consulta original sem OUTER nem INNER, e na cláusula WHERE você coloca 
um
 NOT EXISTS para o primeiro LEFT e outro NOT EXISTS para o segundo

Mozart Hasse
(desculpem o vacilo no botão enviar da mensagem anterior) 

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Res: Como Zerar Tabela(CORRIGIDO)

2010-06-21 Por tôpico Rodolfo
Vlw galeravo verificar essas funções...sou iniciante em PostgreSQL

Em 21 de junho de 2010 18:34,  escreveu:

> O que ocorre e que não reiniciaste a sequencia que gera os valores para tua
> coluna. Procure no manual sobre sequences e as funcoes relacionadas.
> Abracos
> Enviado através do meu BlackBerry® da Nextel
>
> -Original Message-
> From: Rodolfo 
> Sender: pgbr-geral-boun...@listas.postgresql.org.br
> Date: Mon, 21 Jun 2010 17:25:09
> To: Comunidade PostgreSQL Brasileira
> Reply-To: Comunidade PostgreSQL Brasileira
>
> Subject: [pgbr-geral] Como Zerar Tabela(CORRIGIDO)
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Otimizar consulta com LEFT JOIN

2010-06-21 Por tôpico Mozart Hasse

- Original Message - 
From: 
To: 
Sent: Monday, June 21, 2010 4:34 PM
Subject: Digest pgbr-geral, volume 40, assunto 28


Send pgbr-geral mailing list submissions to
pgbr-geral@listas.postgresql.org.br

To subscribe or unsubscribe via the World Wide Web, visit
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
or, via email, send a message with subject or body 'help' to
pgbr-geral-requ...@listas.postgresql.org.br

You can reach the person managing the list at
pgbr-geral-ow...@listas.postgresql.org.br

When replying, please edit your Subject line so it is more specific
than "Re: Contents of pgbr-geral digest..."


Tópicos de Hoje:

   1. PGCon Brasil 2010 (Alcione Benacchio)
   2. Select em tabela varchar (Jéckson E. Schwengber)
   3. Re: Otimizar consulta com LEFT JOIN (Eduardo Amaral)
   4. Tutorial em português para testar a replicação com hot
  standby do PostgreSQL 9.0 (Diogo Biazus)
   5. Re: PGCon Brasil 2010 (Leonardo Cezar)


--

Message: 1
Date: Mon, 21 Jun 2010 15:07:24 -0300
From: Alcione Benacchio 
Subject: [pgbr-geral] PGCon Brasil 2010
To: Comunidade PostgreSQL Brasileira

Message-ID:

Content-Type: text/plain; charset="iso-8859-1"

Olá,

Tem alguém na lista que é da organização e que tem informações sobre a PGCon
Brasil 2010?
Estou fazendo previsão orçamentária para o próximo semestre e gostaria saber
algumas informações.

Obrigado.

Att.

Alcione
-- Próxima Parte --
Um anexo em HTML foi limpo...
URL: 
http://listas.postgresql.org.br/pipermail/pgbr-geral/attachments/20100621/6d5fa898/attachment-0001.htm

--

Message: 2
Date: Thu, 17 Jun 2010 09:14:46 -0300
From: "Jéckson E. Schwengber" 
Subject: [pgbr-geral] Select em tabela varchar
To: Comunidade PostgreSQL Brasileira

Message-ID: <4c1a11b6.7040...@codebuilder.com.br>
Content-Type: text/plain; charset="iso-8859-1"

Um anexo em HTML foi limpo...
URL: 
http://listas.postgresql.org.br/pipermail/pgbr-geral/attachments/20100617/ff4727f2/attachment-0001.htm

--

Message: 3
Date: Mon, 21 Jun 2010 15:45:13 -0300
From: Eduardo Amaral 
Subject: Re: [pgbr-geral] Otimizar consulta com LEFT JOIN
To: Comunidade PostgreSQL Brasileira

Message-ID:

Content-Type: text/plain; charset="iso-8859-1"

Mozar,

Depois de ler a técnica tentei de todo jeito mas não fui muito feliz...

A 1 Parte com Inner, ficou muito RAPIDO
Acho que fiz errado , na segunda parte pq piorou o tempo da query
anterior

essa é a query

(ja tomei de uns 8x0 dela)




--->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>


SELECT

 a.sg_uf,c.co_tp_complemento
,DECODE(c.co_tp_complemento,'1','L','2','M','3','C')ds_tp_complemento
,SUM(NVL(a.qt_saldo_ano_anterior,0))qt_saldo_ano_anterior
,SUM(NVL(a.qt_recebido,0))qt_recebido
,SUM(NVL(remRec.qt_rem_recebido,0))qt_rem_recebido
,SUM(NVL(remEfe.qt_rem_efetuado,0))qt_rem_efetuado
,SUM(NVL(a.qt_saldo_ano_anterior,0) +
(NVL(a.qt_recebido,0)+NVL(remRec.qt_rem_recebido,0)+NVL(remEfe.qt_rem_efetuado,0)))
qt_total_livros

FROM simad.i_livro_pnl c  , simad.i_livro_distribuido_pnl a

LEFT OUTER JOIN

(SELECT
r.an_programa,r.nu_seq_livro,r.nu_seq_destino,r.nu_seq_prog_acao_distr,
  sum(r.qt_remanejamento_recebido) qt_rem_recebido

 FROM simad.i_remanejamento_pnl r
 WHERE r.nu_seq_destino > 0
   AND r.an_programa = '2010'
   AND r.nu_seq_prog_acao_distr = 1

GROUP BY r.an_programa, r.nu_seq_livro, r.nu_seq_destino,
r.nu_seq_prog_acao_distr)remRec

ON  remRec.nu_seq_livro = a.nu_seq_livro AND remRec.nu_seq_destino =
a.nu_seq_entidade


LEFT OUTER JOIN

(SELECT
r.an_programa,r.nu_seq_livro,r.nu_seq_origem,r.nu_seq_prog_acao_distr,
  sum(r.qt_remanejamento_efetuado) qt_rem_efetuado

 FROM simad.i_remanejamento_pnl r

 WHERE r.nu_seq_origem > 0
   AND r.an_programa = '2010'
   AND r.nu_seq_prog_acao_distr = 1

 GROUP BY r.an_programa, r.nu_seq_livro, r.nu_seq_origem,
r.nu_seq_prog_acao_distr)remEfe

ON  remEfe.nu_seq_livro = a.nu_seq_livro

AND remEfe.nu_seq_origem = a.nu_seq_entidade

WHERE a.nu_seq_livro = c.nu_seq_livro
  AND a.an_programa = '2010'
  AND a.nu_seq_prog_acao_distr = 1
  AND a.co_tp_entidade IN ('10','28','43')

GROUP BY a.sg_uf, c.co_tp_complemento,
DECODE(c.co_tp_complemento,'1','L','2','M','3','C')

ORDER BY a.sg_uf,c.co_tp_complemento;




->>>>>>>>>>>>>>>>>&g

[pgbr-geral] Res: Como Zerar Tabela(CORRIGIDO)

2010-06-21 Por tôpico fernandes . andre
O que ocorre e que não reiniciaste a sequencia que gera os valores para tua 
coluna. Procure no manual sobre sequences e as funcoes relacionadas.
Abracos
Enviado através do meu BlackBerry® da Nextel

-Original Message-
From: Rodolfo 
Sender: pgbr-geral-boun...@listas.postgresql.org.br
Date: Mon, 21 Jun 2010 17:25:09 
To: Comunidade PostgreSQL Brasileira
Reply-To: Comunidade PostgreSQL Brasileira

Subject: [pgbr-geral] Como Zerar Tabela(CORRIGIDO)

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Como Zerar Tabela(CORRIGIDO)

2010-06-21 Por tôpico Osvaldo Kussama
Em 21 de junho de 2010 18:25, Rodolfo  escreveu:
> Desculpem, o ultimo e-mail foi incompleto por causa da merda do meu
> teclado...drogamas aí vai de novo
> Bom dia pessoal, estou com uma dúvida. Criei uma tabela chamada
> clientes.e nela fui inputando dados pelo Java 2 EEdaí ia olhando
> pelo Pgadmin se estava inputando corretamente, realmente estava, mas me
> deparei com um pequeno erro(eu acho que é pequeno).eu ia apagando os
> dados diretamente pelo Pgadmin 3.daí ia inputar de novo os
> dados.percebi que a minha primary key não resetava...ela continuava
> desde a ultima posiçãominha tabela é bem simples:
> CREATE TABLE clientes(
> id bigserial not null,
> nome character varying(255),
> email character varying(255),
> endereco character varying(255),
> primary key(id)
> )
> mas eu apagava os dados inputados no pgadmin 3, e quando inputava de
> novo...não resetava o primary key IDtem uma forma de eu resetar toda
> a tabela pra contagem começar do 0porque o ID está com incremento...mas
> estava so testando.daí quando eu colocava os dados na tabela de novo...a
> continuação do número começava de onde tinha parado.alguem tem como me
> falar como resetar uma tabela pra que a contagem do ID comece do ZERO
> novamente ? desculpa a redundância...mas é que não sei se estou me
> expressando bematé +
>


Mas este é o comportamento esperado de um campo do tipo SERIAL.
http://www.postgresql.org/docs/current/interactive/datatype-numeric.html#DATATYPE-SERIAL

Caso queira reiniciar veja a função setval em:
http://www.postgresql.org/docs/current/interactive/functions-sequence.html

Osvaldo
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Select em tabela varchar

2010-06-21 Por tôpico Osvaldo Kussama
Em 17 de junho de 2010 09:14, "Jéckson E. Schwengber"
 escreveu:
> Bom dia a todos,
>
>
> Tenho o seguinte caso aqui na empresa:
>
> Possuo 3 tabelas que ficam sendo atualizadas o tempo inteiro por um sistema
> externo, sendo que somente uma delas é a mais atual.
>
> Para saber qual é a mais atual, eu busco o nome da tabela em uma outra
> tabela.
>
> Por exemplo:
>
> TABELAS DE ATUALIZAÇÃO
> 
> ATU1
> ATU2
> ATU3
>
> TABELA DE INFORMACAO
> 
> INF_ATU
>
> Eu busco na tabela de informação o nome da tabela que é mais atual:
>
>  SELECT TABELA FROM INF_ATU;
>
> Retornando, por exemplo:
>
>  TABELA
>  --
>  ATU2
>
>
> E então eu faço o select dos dados que preciso na tabela ATU2, por esta ser
> a mais atualizada.
>
> A questão é a seguinte, quero criar uma view ou function para poder fazer
> joins com o mesmo select, sendo que na view eu verificaria qual tabela é a
> mais atual e retornaria os valores da tabela retornada na consulta.
>
> Dentro da view o select ficaria mais ou menos assim:
>
> SELECT [CAMPOS DA TABELA (AS TABELAS POSSUEM CAMPOS IGUAIS)]
> FROM   (AQUI SERIA A TABELA QUE RETORNARIA DA CONSULTA, QUE É VARCHAR).
>
> Alguém tem alguma idéia de como fazer ou algum recurso para isso?
>


Creio que o mais indicado é você criar uma função - e não uma view - e
na função utilizar comandos dinâmicos:
http://www.postgresql.org/docs/current/interactive/plpgsql-statements.html#PLPGSQL-STATEMENTS-EXECUTING-DYN

Osvaldo
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] REF. RESTORE Linux<>Windows.

2010-06-21 Por tôpico Thiago Tiedtke dos Reis
Me parece que seu banco antigo tinha a extensão geográfica - Postigis
carregada

Crie o banco, carregue as funções do postgis, e ai tente fazer a
restauração!

Boa sorte!

Thiago Tiedtke dos Reis
Engenheiro Cartógrafo

Em 21 de junho de 2010 17:49, VisualP Sistemas  escreveu:

>  Ola Pessoal,
>
> Fiz um backup texto no Linux de uma base.
> Estou restaurando esta base no Windows,
> mesma versao do banco.
> Ao executar SQL recebo a mensagem:
>
> ERROR: could not find function "LWGEOM_asGeoJson" in file "C:/Arquivos de
> programas/PostgreSQL/8.2/lib/liblwgeom.dll"
> SQL state: 42883
>
> Alguemj tem alguma dica ???
>
> Obrigado,
>
> Paulo.
> VisualP Sistemas.
>
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] Como Zerar Tabela(CORRIGIDO)

2010-06-21 Por tôpico Rodolfo
Desculpem, o ultimo e-mail foi incompleto por causa da merda do meu
teclado...drogamas aí vai de novo

Bom dia pessoal, estou com uma dúvida. Criei uma tabela chamada
clientes.e nela fui inputando dados pelo Java 2 EEdaí ia olhando
pelo Pgadmin se estava inputando corretamente, realmente estava, mas me
deparei com um pequeno erro(eu acho que é pequeno).eu ia apagando os
dados diretamente pelo Pgadmin 3.daí ia inputar de novo os
dados.percebi que a minha primary key não resetava...ela continuava
desde a ultima posiçãominha tabela é bem simples:

CREATE TABLE clientes(
id bigserial not null,
nome character varying(255),
email character varying(255),
endereco character varying(255),
primary key(id)
)

mas eu apagava os dados inputados no pgadmin 3, e quando inputava de
novo...não resetava o primary key IDtem uma forma de eu resetar toda
a tabela pra contagem começar do 0porque o ID está com incremento...mas
estava so testando.daí quando eu colocava os dados na tabela de novo...a
continuação do número começava de onde tinha parado.alguem tem como me
falar como resetar uma tabela pra que a contagem do ID comece do ZERO
novamente ? desculpa a redundância...mas é que não sei se estou me
expressando bematé +


Rodolfo Azevedo.
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] Como Zerar Tabela

2010-06-21 Por tôpico Rodolfo
Bom dia pessoal, estou com uma dúvida. Criei uma tabela chamada
clientes.e nela fui inputando dados pelo Java 2 EEdaí ia olhando
pelo Pgadmin se estava inputando corretamente, realmente estava, mas me
deparei com um pequeno erro(eu acho q
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] REF. RESTORE Linux<>Windows.

2010-06-21 Por tôpico VisualP Sistemas
Ola Pessoal,

Fiz um backup texto no Linux de uma base.
Estou restaurando esta base no Windows,
mesma versao do banco.
Ao executar SQL recebo a mensagem:

ERROR: could not find function "LWGEOM_asGeoJson" in file "C:/Arquivos de 
programas/PostgreSQL/8.2/lib/liblwgeom.dll"
SQL state: 42883

Alguemj tem alguma dica ???

Obrigado,

Paulo.
VisualP Sistemas.
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Referencia cruzada entre bancos

2010-06-21 Por tôpico Candido Vieira da Silva Neto
Pedro,

Dá uma olhada no dblink. Creio que resolva seu problema.

http://www.postgresql.org/docs/8.3/static/contrib-dblink.html

Candido Vieira

2010/6/21 Pedro Espíndola 

> Boa noite,
>
> estou precisando fazer join entre entre BD diferentes em um mesmo
> cluster. Qual a solução pessoal  ?
>
> postgreSQL 8.3
>
> Abs
> Pedro
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] Referencia cruzada entre bancos

2010-06-21 Por tôpico Pedro Espíndola
Boa noite,

estou precisando fazer join entre entre BD diferentes em um mesmo
cluster. Qual a solução pessoal  ?

postgreSQL 8.3

Abs
Pedro
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Número de conexões

2010-06-21 Por tôpico Diogo Biazus
SELECT count(*) FROM pg_stat_activity WHERE datname = 'postgres'

2010/6/21 Jesus Rodrigues 

> Pessoal,
>
> Como faço para saber, via sql, o número de conexões atuais no bd
> postgresql?
>
> Obrigado.
>
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>


-- 
Diogo Biazus - dio...@gmail.com
Softa
http://www.softa.com.br
http://www.postgresql.org.br
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] Número de conexões

2010-06-21 Por tôpico Jesus Rodrigues
Pessoal,

Como faço para saber, via sql, o número de conexões atuais no bd postgresql?

Obrigado.
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] PGCon Brasil 2010

2010-06-21 Por tôpico Leonardo Cezar
2010/6/21 Alcione Benacchio :

> Tem alguém na lista que é da organização e que tem informações sobre a PGCon
> Brasil 2010?
> Estou fazendo previsão orçamentária para o próximo semestre e gostaria saber
> algumas informações.

A organização está sendo realizada na lista
pgbr-...@listas.postgresql.org.br, copiada neste e-mail.

Abraço!

-Leo
-- 
Leonardo Cezar
http://www.aslid.org.br
http://postgreslogia.wordpress.com
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] Tutorial em português para testar a replicação com hot standby do PostgreSQL 9.0

2010-06-21 Por tôpico Diogo Biazus
Pessoal,

a quem interessar possa, coloquei um mini-tutorial para quem quiser testar a
nova replicação do PostgreSQL.
Para quem não está acompanhando os betas, a versão 9.0 já está no segundo
beta e a replicação está totalmente funcional.
O tutorial está em
http://blog.softa.com.br/configurando-a-replicacao-nativa-do-postgresq


-- 
Diogo Biazus - dio...@gmail.com
Softa
http://www.softa.com.br
http://www.postgresql.org.br
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Otimizar consulta com LEFT JOIN

2010-06-21 Por tôpico Eduardo Amaral
Mozar,

Depois de ler a técnica tentei de todo jeito mas não fui muito feliz...

A 1 Parte com Inner, ficou muito RAPIDO
Acho que fiz errado , na segunda parte pq piorou o tempo da query
anterior

essa é a query

(ja tomei de uns 8x0 dela)




--->>


SELECT

 a.sg_uf,c.co_tp_complemento
,DECODE(c.co_tp_complemento,'1','L','2','M','3','C')ds_tp_complemento
,SUM(NVL(a.qt_saldo_ano_anterior,0))qt_saldo_ano_anterior
,SUM(NVL(a.qt_recebido,0))qt_recebido
,SUM(NVL(remRec.qt_rem_recebido,0))qt_rem_recebido
,SUM(NVL(remEfe.qt_rem_efetuado,0))qt_rem_efetuado
,SUM(NVL(a.qt_saldo_ano_anterior,0) +
(NVL(a.qt_recebido,0)+NVL(remRec.qt_rem_recebido,0)+NVL(remEfe.qt_rem_efetuado,0)))
qt_total_livros

FROM simad.i_livro_pnl c  , simad.i_livro_distribuido_pnl a

LEFT OUTER JOIN

(SELECT
r.an_programa,r.nu_seq_livro,r.nu_seq_destino,r.nu_seq_prog_acao_distr,
  sum(r.qt_remanejamento_recebido) qt_rem_recebido

 FROM simad.i_remanejamento_pnl r
 WHERE r.nu_seq_destino > 0
   AND r.an_programa = '2010'
   AND r.nu_seq_prog_acao_distr = 1

GROUP BY r.an_programa, r.nu_seq_livro, r.nu_seq_destino,
r.nu_seq_prog_acao_distr)remRec

ON  remRec.nu_seq_livro = a.nu_seq_livro AND remRec.nu_seq_destino =
a.nu_seq_entidade


LEFT OUTER JOIN

(SELECT
r.an_programa,r.nu_seq_livro,r.nu_seq_origem,r.nu_seq_prog_acao_distr,
  sum(r.qt_remanejamento_efetuado) qt_rem_efetuado

 FROM simad.i_remanejamento_pnl r

 WHERE r.nu_seq_origem > 0
   AND r.an_programa = '2010'
   AND r.nu_seq_prog_acao_distr = 1

 GROUP BY r.an_programa, r.nu_seq_livro, r.nu_seq_origem,
r.nu_seq_prog_acao_distr)remEfe

ON  remEfe.nu_seq_livro = a.nu_seq_livro

AND remEfe.nu_seq_origem = a.nu_seq_entidade

WHERE a.nu_seq_livro = c.nu_seq_livro
  AND a.an_programa = '2010'
  AND a.nu_seq_prog_acao_distr = 1
  AND a.co_tp_entidade IN ('10','28','43')

GROUP BY a.sg_uf, c.co_tp_complemento,
DECODE(c.co_tp_complemento,'1','L','2','M','3','C')

ORDER BY a.sg_uf,c.co_tp_complemento;




->


Depois de tentar aplicar a tecnica parei aqui, mas ficou pior, com certeza
eu errei


->






SELECT

 a.sg_uf,c.co_tp_complemento
,DECODE(c.co_tp_complemento,'1','L','2','M','3','C')ds_tp_complemento
,SUM(NVL(a.qt_saldo_ano_anterior,0))qt_saldo_ano_anterior
,SUM(NVL(a.qt_recebido,0))qt_recebido
,SUM(NVL(remRec.qt_rem_recebido,0))qt_rem_recebido
,SUM(NVL(remEfe.qt_rem_efetuado,0))qt_rem_efetuado
,SUM(NVL(a.qt_saldo_ano_anterior,0) +
(NVL(a.qt_recebido,0)+NVL(remRec.qt_rem_recebido,0)+NVL(remEfe.qt_rem_efetuado,0)))
qt_total_livros

FROM simad_fnde.i_livro_pnl c  , simad_fnde.i_livro_distribuido_pnl a

INNER JOIN
(SELECT

r.an_programa,r.nu_seq_livro,r.nu_seq_destino,r.nu_seq_prog_acao_distr,
  sum(r.qt_remanejamento_recebido) qt_rem_recebido

 FROM simad_fnde.i_remanejamento_pnl r
 WHERE r.nu_seq_destino > 0
   AND r.an_programa = '2010'
   AND r.nu_seq_prog_acao_distr = 1

GROUP BY r.an_programa, r.nu_seq_livro, r.nu_seq_destino,
r.nu_seq_prog_acao_distr)
remRec ON  remRec.nu_seq_livro = a.nu_seq_livro AND
remRec.nu_seq_destino = a.nu_seq_entidade


INNER JOIN
(SELECT

r.an_programa,r.nu_seq_livro,r.nu_seq_origem,r.nu_seq_prog_acao_distr,
  sum(r.qt_remanejamento_efetuado) qt_rem_efetuado

 FROM simad_fnde.i_remanejamento_pnl r

 WHERE r.nu_seq_origem > 0
   AND r.an_programa = '2010'
   AND r.nu_seq_prog_acao_distr = 1

 GROUP BY r.an_programa, r.nu_seq_livro, r.nu_seq_origem,
r.nu_seq_prog_acao_distr)
 remEfe  ON  remEfe.nu_seq_livro = a.nu_seq_livro AND
remEfe.nu_seq_origem = a.nu_seq_entidade

WHERE a.nu_seq_livro = c.nu_seq_livro
  AND a.an_programa = '2010'
  AND a.nu_seq_prog_acao_distr = 1
  AND a.co_tp_entidade IN ('10','28','43')

GROUP BY a.sg_uf, c.co_tp_complemento,
DECODE(c.co_tp_complemento,'1','L','2','M','3','C')





UNION ALL





SELECT

 a.sg_uf,c.co_tp_complemento
,DECODE(c.co_tp_complemento,'1','L','2','M','3','C')ds_tp_complemento
,SUM(NVL(a.qt_saldo_ano_anterior,0))qt_saldo_ano_anterior
,SUM(NVL(a.qt_recebido,0))qt_recebido
,SUM(NVL(remRec.qt_rem_recebido,0))qt_rem_recebido
--,SUM(NVL(remEfe.qt_rem_efetuado,0))qt_rem_efetuado
--,SUM(NVL(a.qt_saldo_ano_anterior,0) +
(NVL(a.qt_recebido,0)+NVL(remRec.qt_rem_recebido,0)+NVL(remEfe.qt_rem_efetuado,0)))
qt_total_livros

FROM simad_fnde.i_livro_pnl c  , simad_fnde.i_livro_distribuido_pnl a

INNER JOIN
(SELECT

r.an_programa,r.nu_seq_livro,r.nu_seq_destino,r.nu_seq_prog_acao_distr,
  sum(r.qt_rem

[pgbr-geral] Select em tabela varchar

2010-06-21 Por tôpico Jéckson E. Schwengber




Bom dia a todos,


Tenho o seguinte caso aqui na empresa:

Possuo 3 tabelas que ficam sendo atualizadas o tempo inteiro por um
sistema externo, sendo que somente uma delas é a mais atual.

Para saber qual é a mais atual, eu busco o nome da tabela em uma outra
tabela.

Por exemplo:

TABELAS DE ATUALIZAÇÃO 

ATU1
ATU2
ATU3

TABELA DE INFORMACAO

INF_ATU

Eu busco na tabela de informação o nome da tabela que é mais atual:

 SELECT TABELA FROM INF_ATU;

Retornando, por exemplo:

 TABELA
 --
 ATU2


E então eu faço o select dos dados que preciso na tabela ATU2, por esta
ser a mais atualizada.

A questão é a seguinte, quero criar uma view ou function para poder
fazer joins com o mesmo select, sendo que na view eu verificaria qual
tabela é a mais atual e retornaria os valores da tabela retornada na
consulta.

Dentro da view o select ficaria mais ou menos assim:

SELECT [CAMPOS DA TABELA (AS TABELAS POSSUEM CAMPOS IGUAIS)]
FROM   (AQUI SERIA A TABELA QUE RETORNARIA DA CONSULTA, QUE É VARCHAR).

Alguém tem alguma idéia de como fazer ou algum recurso para isso?

Att.
Jéckson E. Schwengber




___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] PGCon Brasil 2010

2010-06-21 Por tôpico Alcione Benacchio
Olá,

Tem alguém na lista que é da organização e que tem informações sobre a PGCon
Brasil 2010?
Estou fazendo previsão orçamentária para o próximo semestre e gostaria saber
algumas informações.

Obrigado.

Att.

Alcione
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] pg_dump

2010-06-21 Por tôpico Osvaldo Kussama
2010/6/21 flavior :
>
> Obrigado Osvado
>
> Só para ter certeza do trabalhao que vou ter...
>
> Flávio
>
>
> Osvaldo Kussama wrote:
>>
>> 2010/6/18 flavior :
>>>
>>> Gostaria de confirmar com os senhores.
>>>
>>> O pg_dump NAO converte uma base que esta em 'SQL_ASCII' para outro
>>> encoding
>>> (UTF8)?
>>> Estou usando o comando :
>>>  pg_dump -a -d -C --user=postgres --table=dbs --encoding=UTF8 tbase >
>>> dbs_utf8.sql
>>>
>>
>>
>> Do manual [1]:
>> " The SQL_ASCII setting behaves considerably differently from the
>> other settings. When the server character set is SQL_ASCII, the server
>> interprets byte values 0-127 according to the ASCII standard, while
>> byte values 128-255 are taken as uninterpreted characters. No encoding
>> conversion will be done when the setting is SQL_ASCII. Thus, this
>> setting is not so much a declaration that a specific encoding is in
>> use, as a declaration of ignorance about the encoding. In most cases,
>> if you are working with any non-ASCII data, it is unwise to use the
>> SQL_ASCII setting, because PostgreSQL will be unable to help you by
>> converting or validating non-ASCII characters."
>>
>> Osvaldo
>> [1] http://www.postgresql.org/docs/current/interactive/multibyte.html
>>


Flavio:

Se *todos* os clientes de seu servidor PostgreSQL (aquele com encoding
SQL_ASCII) utilizaram o mesmo encoding nas operações de modificação do
bd então você pode utilizar um utilitário como o iconv [1] para
efetuar esta conversão (do encoding utilizado pelos clientes para
UTF-8) sobre o resultado do pg_dump.
Caso os clientes operassem com diferentes encodings então você terá um
trabalho de garimpagem que, infelizmente, pode ser árduo.

Osvaldo
[1] http://www.gnu.org/software/libiconv/documentation/libiconv/iconv.1.html
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] pg_dump

2010-06-21 Por tôpico flavior

Obrigado Osvado

Só para ter certeza do trabalhao que vou ter...

Flávio


Osvaldo Kussama wrote:
> 
> 2010/6/18 flavior :
>>
>> Gostaria de confirmar com os senhores.
>>
>> O pg_dump NAO converte uma base que esta em 'SQL_ASCII' para outro
>> encoding
>> (UTF8)?
>> Estou usando o comando :
>>  pg_dump -a -d -C --user=postgres --table=dbs --encoding=UTF8 tbase >
>> dbs_utf8.sql
>>
> 
> 
> Do manual [1]:
> " The SQL_ASCII setting behaves considerably differently from the
> other settings. When the server character set is SQL_ASCII, the server
> interprets byte values 0-127 according to the ASCII standard, while
> byte values 128-255 are taken as uninterpreted characters. No encoding
> conversion will be done when the setting is SQL_ASCII. Thus, this
> setting is not so much a declaration that a specific encoding is in
> use, as a declaration of ignorance about the encoding. In most cases,
> if you are working with any non-ASCII data, it is unwise to use the
> SQL_ASCII setting, because PostgreSQL will be unable to help you by
> converting or validating non-ASCII characters."
> 
> Osvaldo
> [1] http://www.postgresql.org/docs/current/interactive/multibyte.html
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
> 
> 

-- 
View this message in context: 
http://old.nabble.com/pg_dump-tp28930644p28948762.html
Sent from the PostgreSQL - Brasil mailing list archive at Nabble.com.

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral