[pgbr-geral] Migracao/Atualizacao versao 8.2 para 9.2 (Windows)

2013-10-01 Por tôpico Bruno Damasceno
Pessoal, bom dia!

 

Estou assumindo o suporte PostgreSQL em um cliente e o cara ainda está com a
versão 8.2, e pior, está em Windows e o cara quer que continue!

 

Nunca peguei esse cenário, quais cuidados e pré-reqs devo ter para efetuar a
migração da versão 8.2 para 9.2 (ou até mesmo a 9.3), lembrando que está em
Windows?

 

Obrigado e abraços comunidade!

 

Att,

Bruno Martins Damasceno  -  Skype: brunomd.md

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


Re: [pgbr-geral] Migracao/Atualizacao versao 8.2 para 9.2 (Windows)

2013-10-01 Por tôpico Guimarães Faria Corcete DUTRA , Leandro
2013/10/1 Bruno Damasceno brunomd...@gmail.com:

 Estou assumindo o suporte PostgreSQL em um cliente e o cara ainda está com a
 versão 8.2, e pior, está em Windows e o cara quer que continue!

Espero que cobres muito bem por assumir essa dor de cabeça.


 Nunca peguei esse cenário, quais cuidados e pré-reqs devo ter para efetuar a

Primeiro lugar, ler com calma as notas de versão desde 8.3 até a 9.3.

Segundo, exportar a base, importar para um servidor de testes, e
arranjar testes extensivos dos sistemas.  Provavelmente você
descobrirá que os sistemas incorrem em vários problemas,
principalmente por uso de conversões implícitas (se não me falha a
memória).

Corrija os problemas, e continue testando.  Se possível, rode em
paralelo durante algum tempo, e simule os eventos importantes
(fechamento de períodos, por exemplo).


 migração da versão 8.2 para 9.2 (ou até mesmo a 9.3)

Alguma razão para não ser a 9.3?  O tempo que os testes levarão deve
ser mais do que suficiente para que ela seja bem depurada,
provavelmente há haverá a 9.3.1.


 lembrando que está em Windows?

Convença a mudar, se possível.
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] RES: Migracao/Atualizacao versao 8.2 para 9.2 (Windows)

2013-10-01 Por tôpico Bruno Damasceno
-Mensagem original-
De: pgbr-geral [mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome
de Guimarães Faria Corcete DUTRA, Leandro
Enviada em: terça-feira, 1 de outubro de 2013 09:48
Para: Comunidade PostgreSQL Brasileira
Assunto: Re: [pgbr-geral] Migracao/Atualizacao versao 8.2 para 9.2 (Windows)

2013/10/1 Bruno Damasceno brunomd...@gmail.com:

 Estou assumindo o suporte PostgreSQL em um cliente e o cara ainda está 
 com a versão 8.2, e pior, está em Windows e o cara quer que continue!

Espero que cobres muito bem por assumir essa dor de cabeça.

  Hehe

 Nunca peguei esse cenário, quais cuidados e pré-reqs devo ter para 
 efetuar a

Primeiro lugar, ler com calma as notas de versão desde 8.3 até a 9.3.

Segundo, exportar a base, importar para um servidor de testes, e arranjar
testes extensivos dos sistemas.  Provavelmente você descobrirá que os
sistemas incorrem em vários problemas, principalmente por uso de
conversões implícitas (se não me falha a memória).

Corrija os problemas, e continue testando.  Se possível, rode em paralelo
durante algum tempo, e simule os eventos importantes (fechamento de
períodos, por exemplo).


 migração da versão 8.2 para 9.2 (ou até mesmo a 9.3)

Alguma razão para não ser a 9.3?  O tempo que os testes levarão deve ser
mais do que suficiente para que ela seja bem depurada, provavelmente há
haverá a 9.3.1.

  Não cara, pode ser a 9.3.

 lembrando que está em Windows?

Convença a mudar, se possível.

  Farei o possível! Rsrs

  Obrigado!
___
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] Ajuda com SQL (full outer join)

2013-10-01 Por tôpico Thiago

Bom dia a todos.

Tenho as seguintes tabelas

tb_venda
loja venda
110
220

tb_meta
loja meta
240
360

Eu precisava fazer uma consulta trazendo tudo de tudo, o que cruzar e o 
que não cruzar, para tal fiz o seguinte sql.


select
   coalesce(a.loja,b.loja) as loja,
   coalesce(a.venda,0) as venda,
   coalesce(b.meta,0) as meta
from tb_venda a
full outer join tb_meta b on a.loja = b.loja

Como resultado eu teria os seguintes dados:
loja venda meta
1100
22040
30 60

O que fazer quando eu não tenho registros na tabela tb_venda, tenho 
apenas na tabela meta?


Gostaria que viesse o seguinte resultado:

loja venda meta
20 40
30 60

Obrigado pela ajuda.

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


Re: [pgbr-geral] Ajuda com SQL (full outer join)

2013-10-01 Por tôpico Guimarães Faria Corcete DUTRA , Leandro
2013/10/1 Thiago zan...@farmaponte.com.br:
 from tb_venda a
 full outer join tb_meta b on a.loja = b.loja

Pode simplificar com ON loja, já que os nomes são consistentes.

Se houver a restrição de integridade referencial, pode até fazer o
NATURAL JOIN, sem precisar de ON.


 Como resultado eu teria os seguintes dados:
 loja venda meta
 1100
 22040
 30 60

Isso está funcionando como esperado, certo?


 O que fazer quando eu não tenho registros na tabela tb_venda, tenho apenas
 na tabela meta?

Você pode dar o exemplo de como ficariam as tabelas base, nesse caso?

Aliás, evite esses prefixos como ‘tb_’.  Eles acabam atrapalhando à
medida em que o modelo evolui e você substitui tabelas por visões e
vice-versa.


 Gostaria que viesse o seguinte resultado:

 loja venda meta
 20 40
 30 60
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Ajuda com SQL (full outer join)

2013-10-01 Por tôpico JotaComm
Opa,


Em 1 de outubro de 2013 10:50, Thiago zan...@farmaponte.com.br escreveu:

 Bom dia a todos.

 Tenho as seguintes tabelas

 tb_venda
 loja venda
 110
 220

 tb_meta
 loja meta
 240
 360

 Eu precisava fazer uma consulta trazendo tudo de tudo, o que cruzar e o
 que não cruzar, para tal fiz o seguinte sql.

 select
coalesce(a.loja,b.loja) as loja,
coalesce(a.venda,0) as venda,
coalesce(b.meta,0) as meta
 from tb_venda a
 full outer join tb_meta b on a.loja = b.loja

 Como resultado eu teria os seguintes dados:
 loja venda meta
 1100
 22040
 30 60

 O que fazer quando eu não tenho registros na tabela tb_venda, tenho apenas
 na tabela meta?

 Gostaria que viesse o seguinte resultado:

 loja venda meta
 20 40
 30 60


Não conseguei entender exatamente o que você quer: Por que a loja 1 não
deve aparecer no resultado? Pelo que vi aparecem somente os registros da
tabela tb_meta.


 Obrigado pela ajuda.

 __**_
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.**org.brpgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.**br/cgi-bin/mailman/listinfo/**pgbr-geralhttps://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral



Abraços
-- 
JotaComm
http://jotacomm.wordpress.com
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Utilizando pg_dump no crontab

2013-10-01 Por tôpico JotaComm
Opa,


Em 30 de setembro de 2013 11:43, Hugo Quinteiro
h...@controlware.com.brescreveu:

  Bom dia, 

 ** **

 Executo o comando “/usr/bin/./pg_dump -U postgres -F c
 --file=/etc/publico/backup/$(date +%Y_%m_%d__%H_%M_%S).backup basededados”
 e consigo fazer o backup normalmente. Mas ao carregar o comando: “0 22 * *
 * /usr/bin/./pg_dump -U postgres -F c --file=/etc/publico/backup/$(date
 +%Y_%m_%d__%H_%M_%S).backup websac”, no crontab o Linux não executa o
 backup.


Sugiro tirar ./pg_dump por /usr/bin/pg_dump. Outra possibilidade é você
fazer um .sh e chama-lo no crontab, fica melhor até para você manipular as
variáveis de data.

 

 ** **

 Alguém pode me ajudar??

 ** **

 ** **

 [image: logocw]

 *Hugo F. Quinteiro*
 Depto Auditoria
 11 3018-1980 (Ramal 402)
 11 9.8525-8270
 h...@controlware.com.br em...@controlware.com.br
 www.controlware.com.br

 ** **

 ** **

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



Abraços
-- 
JotaComm
http://jotacomm.wordpress.com
image001.png___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] PANIC: right sibling's left-link doesn't match

2013-10-01 Por tôpico JotaComm
Opa,


Em 30 de setembro de 2013 13:36, Adriano Espinoza de Oliveira 
adrianoespin...@gmail.com escreveu:

 Pessoal está parcialmente resolvido meu problema, não postei a resposta
 antes por falta de tempo mesmo.
 Na madrugada de quinta para sexta-feria não tive tempo fazer o dump e o
 restore, até tentei, mas a janela de tempo era curta e os sistema tinha q
 voltar as 06:00hs, então optei por tentar o reindex total, inclusive das
 tabelas do sistema, e resolveu.
 Fiz base a base e de lá pra cá está tudo bem, o servidor não está caindo
 mais.

 Mas tenho alguns questionamentos:

 Hoje vi a seguinte mensagem hoje, então suponho que ainda tenho algum
 problema com indices, alguma dica?

 10.11.0.2 2013-09-30 13:08:59 BRT [24107]: [1-1] db=nutracom,user=postgres
 WARNING:  could not remove relation 1663/105809227/572918907: Arquivo ou
 diretório não encontrado
 10.11.0.2 2013-09-30 13:08:59 BRT [24107]: [2-1] db=nutracom,user=postgres
 WARNING:  could not remove relation 1663/105809227/572918903: Arquivo ou
 diretório não encontrado
 10.11.0.2 2013-09-30 13:08:59 BRT [24107]: [3-1] db=nutracom,user=postgres
 WARNING:  could not remove relation 1663/105809227/572918901: Arquivo ou
 diretório não encontrado
 10.11.0.2 2013-09-30 13:08:59 BRT [24107]: [4-1] db=nutracom,user=postgres
 WARNING:  could not remove relation 1663/105809227/572918899: Arquivo ou
 diretório não encontrado
 10.11.0.2 2013-09-30 13:08:59 BRT [24107]: [5-1] db=nutracom,user=postgres
 WARNING:  could not remove relation 1663/105809227/572918894: Arquivo ou
 diretório não encontrado
 10.11.0.2 2013-09-30 13:08:59 BRT [24107]: [6-1] db=nutracom,user=postgres
 WARNING:  could not remove relation 1663/105809227/572918896: Arquivo ou
 diretório não encontrado
 10.11.0.2 2013-09-30 13:08:59 BRT [24107]: [7-1] db=nutracom,user=postgres
 WARNING:  could not remove relation 1663/105809227/572918898: Arquivo ou
 diretório não encontrado
 10.11.0.2 2013-09-30 13:08:59 BRT [24107]: [8-1] db=nutracom,user=postgres
 WARNING:  could not remove relation 1663/105809227/572918892: Arquivo ou
 diretório não encontrado


 Durante o reindex, utilizando o comando  reindexdb -a, o reindex foi
 interrompido com a msg abaixo, passei a reindexar base a base e tudo bem,
 até chegar em uma determinada tabela, que não sei qual é, ele foi
 interrompido.
 Provavelmente é algum lixo ou backup pontual de um select ou coisa assim
 que foi feita no banco, mas como posso identificar essa tabela?

 [local] 2013-09-27 03:48:32 BRT [11290]: [290-1] db=cimed,user=postgres
 NOTICE:  table itens_faltas_pcp was reindexed
 [local] 2013-09-27 03:48:32 BRT [11290]: [291-1] db=cimed,user=postgres
 NOTICE:  table dash_board_vendas_local was reindexed
 [local] 2013-09-27 03:48:32 BRT [11290]: [292-1] db=cimed,user=postgres
 ERROR:  could not create unique index
 [local] 2013-09-27 03:48:32 BRT [11290]: [293-1] db=cimed,user=postgres
 DETAIL:  Table contains duplicated values.


Provavelmente a corrupção dos índices causou registros duplicados na
tabela. Faça o seguinte SELECT (usando o campo a chave primária que é
provalvemente é onde está o problema).

SET enable_indexscan TO OFF;

SET enable_bitmapscan TO OFF;

SET enable_tidscan TO OFF;

Assim você força uma leitura sequencial.

SELECT campodachaveprimaria,count(1)

FROM tabela

GROUP BY campodachaveprimaria HAVING count(1)1;

Se o resultado for positivo é um problema, e você vai ter que corrigir os
seus dados na mão.



 Agradeço a todos,

 Adriano Espinoza



 Em 30 de setembro de 2013 13:13, Adriano Espinoza de Oliveira 
 adrianoespin...@gmail.com escreveu:




 Em 29 de setembro de 2013 09:51, Matheus de Oliveira 
 matioli.math...@gmail.com escreveu:




 2013/9/27 Jean Pereira ad...@olostech.com

  On 09/26/2013 07:57 PM, Matheus de Oliveira wrote:




 2013/9/26 Adriano Espinoza de Oliveira adrianoespin...@gmail.com

 Boa tarde pessoal.


  Boa noite... =D



   Hje de manhã tivemos too many clients no banco, eu não esta na
 empresa, e o adm de redes foi lá e derrubou um monte de conexões do
 postgres que ele achou q eram antigas...


Bom, a alguns anos atrás, fiz isso também, se não me engano também
 era na versão 8.x (não lembro exato porque faz tempo, talvez seja a 7.x).


   Derrubou como? Se foi um kill -9 é bom dar um kill -9  `pidof
 cara_que_fez_isso`... =P


  Estou brincando viu, vamos lá ...

   O banco ficou inacessível, ele fez um restart do banco, que não
 subiu. Teve que apagar o PID na unha e depois o banco subiu...


  Ok. Normal...



   Depois disso, quando cheguei, notei que o banco estava se
 derrubando e subindo sozinho, exibindo essas mensagens:

  * 2013-09-26 12:09:25 BRT [18539]: [1-1] db=,user= LOG:  server
 process (PID 23040) was terminated by signal 6*
 * 2013-09-26 12:09:25 BRT [18539]: [2-1] db=,user= LOG:  terminating
 any other active server processes*
 *10.11.0.2 2013-09-26 12:09:25 BRT [23043]: [3-1]
 db=cimed,user=postgres WARNING:  terminating connection because of crash 
 of
 another 

Re: [pgbr-geral] Tuning postgresql 9.3 e pgtune

2013-10-01 Por tôpico JotaComm
Bom dia!!!


Em 30 de setembro de 2013 11:41, Guimarães Faria Corcete DUTRA, Leandro 
l...@dutras.org escreveu:

 2013/9/30 Marco Aurélio Carvalho Feitosa ma...@tjrr.jus.br:
 
  As configurações de tuning das versões anteriores ainda se aplicam à
 versão
  9.3 ?

 A tendência geral é de alteração de uma minoria dos parâmetros:
 simplificando algo, detalhando algo mais… para ver as diferenças, olhe
 as notas de versão.


  As configurações geradas pelo pgtune são confiáveis?

 Elas são úteis, mas não devem ser aplicadas cegamente.  O certo é
 consultar o documento de referência para entender cada sugestão.


Apenas um adendo ao mestre Dutra, os ajustes finos você precisa fazer,
senão qual seria a graça?

Algumas coisas previsam ser levadas em consideração: Servidor dedicado?
(Isso tem influência no shared_buffers, por exemplo).

Muitos relatórios complexos que exigem ordenação ou agrupamento? Se sim,
talvez você precisa reconfigurar work_mem.


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



Abraços
-- 
JotaComm
http://jotacomm.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] RES: RES: Utilizando pg_dump no crontab

2013-10-01 Por tôpico Hugo Quinteiro
Obrigado pela dica Rafael, tirei os parâmetros de data e
mais um “;” no final funcionou. Deixei assim o comando:

 

30 11 * * *  /usr/bin/./pg_dump -h 192.168.1.148 -U postgres  -F c
--file=/etc/publico/backup/hugo/teste.backup websac;

 

De: pgbr-geral [mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome
de Rafael Fialho Corrêa
Enviada em: segunda-feira, 30 de setembro de 2013 15:45
Para: Comunidade PostgreSQL Brasileira
Assunto: Re: [pgbr-geral] RES: Utilizando pg_dump no crontab

 

2013/9/30 Hugo Quinteiro h...@controlware.com.br

Log do CRON:

 

From root@severalpha.localdomain  Mon Sep 30 11:18:02 2013

Return-Path: root@severalpha.localdomain

X-Original-To: root

Delivered-To: root@severalpha.localdomain

Received: by severalpha.localdomain (Postfix, from userid 0)

id 13D2280641; Mon, 30 Sep 2013 11:18:02 -0300 (BRT)

From: root@severalpha.localdomain (Cron Daemon)

To: root@severalpha.localdomain

Subject: Cron root@severalpha postgres /usr/bin/./pg_dump -U postgres -F c
--file=/etc/publico/backup/hugo/$(date +

 

É visível que ele não está reconhecendo o espaço do comando, na parte em que
é somada a data ao resto do conteúdo, que geraria o nome do backup.

Tente colocar entre , ou realizar de alguma outra forma..

 

Content-Type: text/plain; charset=UTF-8

Auto-Submitted: auto-generated

X-Cron-Env: PATH=/bin:/usr/bin:/sbin:/usr/sbin

X-Cron-Env: SHELL=/bin/sh

X-Cron-Env: HOME=/root

X-Cron-Env: LOGNAME=root

X-Cron-Env: USER=root

Message-Id: 20130930141802.13D2280641@severalpha.localdomain

Date: Mon, 30 Sep 2013 11:18:02 -0300 (BRT)

 

/bin/sh: -c: line 0: unexpected EOF while looking for matching `)'

/bin/sh: -c: line 1: syntax error: unexpected end of file

 

De: pgbr-geral [mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome
de Glauco Torres
Enviada em: segunda-feira, 30 de setembro de 2013 11:49
Para: Comunidade PostgreSQL Brasileira
Assunto: Re: [pgbr-geral] Utilizando pg_dump no crontab

 

 

Bom dia,

 

  

Executo o comando “/usr/bin/./pg_dump -U postgres -F c
--file=/etc/publico/backup/$(date +%Y_%m_%d__%H_%M_%S).backup basededados” e
consigo fazer o backup normalmente. Mas ao carregar o comando: “0 22 * * *
/usr/bin/./pg_dump -U postgres -F c --file=/etc/publico/backup/$(date
+%Y_%m_%d__%H_%M_%S).backup websac”, no crontab o Linux não executa o
backup. 

 

Alguém pode me ajudar??

 

 

 

 

Sua linha parece estar certa, não testei.

 

Você ja verificou o log do cron? O que é diz la?

 

Att Glauco Torres 


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

 

[]'s

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


Re: [pgbr-geral] Ajuda com SQL (full outer join)

2013-10-01 Por tôpico Osvaldo Kussama
Em 01/10/13, Thiagozan...@farmaponte.com.br escreveu:
 Bom dia a todos.

 Tenho as seguintes tabelas

 tb_venda
 loja venda
 110
 220

 tb_meta
 loja meta
 240
 360

 Eu precisava fazer uma consulta trazendo tudo de tudo, o que cruzar e o
 que não cruzar, para tal fiz o seguinte sql.

 select
 coalesce(a.loja,b.loja) as loja,
 coalesce(a.venda,0) as venda,
 coalesce(b.meta,0) as meta
 from tb_venda a
 full outer join tb_meta b on a.loja = b.loja

 Como resultado eu teria os seguintes dados:
 loja venda meta
 1100
 22040
 30 60

 O que fazer quando eu não tenho registros na tabela tb_venda, tenho
 apenas na tabela meta?

 Gostaria que viesse o seguinte resultado:

 loja venda meta
 20 40
 30 60

 Obrigado pela ajuda.



Pelo que consegui entender seria:
select
coalesce(a.loja,b.loja) as loja,
coalesce(a.venda,0) as venda,
coalesce(b.meta,0) as meta
from tb_venda a
full outer join tb_meta b on a.loja = b.loja
WHERE a.loja IS NULL;

que corresponde a sua descrição mas que não corresponde a seu exemplo.

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] Ajuda com SQL (full outer join)

2013-10-01 Por tôpico Thiago

On 01/10/2013 11:41, Osvaldo Kussama wrote:

Em 01/10/13, Thiagozan...@farmaponte.com.br escreveu:

Bom dia a todos.

Tenho as seguintes tabelas

tb_venda
loja venda
110
220

tb_meta
loja meta
240
360

Eu precisava fazer uma consulta trazendo tudo de tudo, o que cruzar e o
que não cruzar, para tal fiz o seguinte sql.

select
 coalesce(a.loja,b.loja) as loja,
 coalesce(a.venda,0) as venda,
 coalesce(b.meta,0) as meta
from tb_venda a
full outer join tb_meta b on a.loja = b.loja

Como resultado eu teria os seguintes dados:
loja venda meta
1100
22040
30 60

O que fazer quando eu não tenho registros na tabela tb_venda, tenho
apenas na tabela meta?

Gostaria que viesse o seguinte resultado:

loja venda meta
20 40
30 60

Obrigado pela ajuda.




Pelo que consegui entender seria:
select
 coalesce(a.loja,b.loja) as loja,
 coalesce(a.venda,0) as venda,
 coalesce(b.meta,0) as meta
from tb_venda a
full outer join tb_meta b on a.loja = b.loja
WHERE a.loja IS NULL;

que corresponde a sua descrição mas que não corresponde a seu exemplo.

Osvaldo


Osvaldo, boa tarde.

Mas em alguns casos a minha tabela tb_venda vai estar vazia, neste caso 
não está trazendo nenhum registro da tabela tb_meta.


Gostaria de trazer todos os registros da tb_meta tendo a tb_venda como 
tabela da esquerda.


No exemplo que dei, tenho 2 registros em cada tabela, mas no caso de não 
ter nada na tabela tb_venda (esquerda/principal) não está trazendo nada 
da tb_meta (direita).



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


Re: [pgbr-geral] Ajuda com SQL (full outer join)

2013-10-01 Por tôpico Thiago

On 01/10/2013 11:10, JotaComm wrote:

Opa,


Em 1 de outubro de 2013 10:50, Thiago zan...@farmaponte.com.br
mailto:zan...@farmaponte.com.br escreveu:

Bom dia a todos.

Tenho as seguintes tabelas

tb_venda
loja venda
110
220

tb_meta
loja meta
240
360

Eu precisava fazer uma consulta trazendo tudo de tudo, o que cruzar
e o que não cruzar, para tal fiz o seguinte sql.

select
coalesce(a.loja,b.loja) as loja,
coalesce(a.venda,0) as venda,
coalesce(b.meta,0) as meta
from tb_venda a
full outer join tb_meta b on a.loja = b.loja

Como resultado eu teria os seguintes dados:
loja venda meta
1100
22040
30 60

O que fazer quando eu não tenho registros na tabela tb_venda, tenho
apenas na tabela meta?

Gostaria que viesse o seguinte resultado:

loja venda meta
20 40
30 60


Não conseguei entender exatamente o que você quer: Por que a loja 1 não
deve aparecer no resultado? Pelo que vi aparecem somente os registros da
tabela tb_meta.


Obrigado pela ajuda.

_
pgbr-geral mailing list
pgbr-geral@listas.postgresql.__org.br
mailto:pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.__br/cgi-bin/mailman/listinfo/__pgbr-geral
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral



Abraços
--
JotaComm
http://jotacomm.wordpress.com



JotaComm, boa tarde.

Eu questionei no caso de tabela tb_venda estar vazia, como faria para 
trazer os registros da tb_meta. Como se eu tivesse a seguinte estrutura:


tb_venda
loja venda

tb_meta
loja meta
240
360

Preciso ter o resultado abaixo utilizando a tabela tb_venda como 
esquerda (principal).


loja venda meta
20 40
30 60

Acontece que em determinados momentos a mesma pode estar vazia e neste 
caso não está trazendo as metas.


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] Ajuda com SQL (full outer join)

2013-10-01 Por tôpico Thiago

On 01/10/2013 10:57, Guimarães Faria Corcete DUTRA, Leandro wrote:

2013/10/1 Thiago zan...@farmaponte.com.br:

from tb_venda a
full outer join tb_meta b on a.loja = b.loja


Pode simplificar com ON loja, já que os nomes são consistentes.

Se houver a restrição de integridade referencial, pode até fazer o
NATURAL JOIN, sem precisar de ON.


Obrigado pela dica, não conhecia esta sintaxe.




Como resultado eu teria os seguintes dados:
loja venda meta
1100
22040
30 60


Isso está funcionando como esperado, certo?


Sim, quando tenho registro na tabela tb_venda ele me traz da forma que 
preciso, o problema é quando a tb_venda está vazia e a tabela tb_meta 
contém registros, neste caso não está trazendo nada.



O que fazer quando eu não tenho registros na tabela tb_venda, tenho apenas
na tabela meta?


Você pode dar o exemplo de como ficariam as tabelas base, nesse caso?


Da seguinte forma:

tb_venda
loja venda

tb_meta
loja meta
240
360

Neste caso, tendo a tabela tb_venda como principal (esquerda) gostaria 
de ter o seguinte resultado:


loja venda meta
20 40
30 60


Aliás, evite esses prefixos como ‘tb_’.  Eles acabam atrapalhando à
medida em que o modelo evolui e você substitui tabelas por visões e
vice-versa.


Obrigado por essa dica também.




Gostaria que viesse o seguinte resultado:

loja venda meta
20 40
30 60

___
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] Ajuda com SQL (full outer join)

2013-10-01 Por tôpico JotaComm
Opa,


Em 1 de outubro de 2013 12:37, Thiago zan...@farmaponte.com.br escreveu:

 On 01/10/2013 11:10, JotaComm wrote:

 Opa,


 Em 1 de outubro de 2013 10:50, Thiago zan...@farmaponte.com.br
 mailto:zan...@farmaponte.com.**br zan...@farmaponte.com.br escreveu:


 Bom dia a todos.

 Tenho as seguintes tabelas

 tb_venda
 loja venda
 110
 220

 tb_meta
 loja meta
 240
 360

 Eu precisava fazer uma consulta trazendo tudo de tudo, o que cruzar
 e o que não cruzar, para tal fiz o seguinte sql.

 select
 coalesce(a.loja,b.loja) as loja,
 coalesce(a.venda,0) as venda,
 coalesce(b.meta,0) as meta
 from tb_venda a
 full outer join tb_meta b on a.loja = b.loja

 Como resultado eu teria os seguintes dados:
 loja venda meta
 1100
 22040
 30 60

 O que fazer quando eu não tenho registros na tabela tb_venda, tenho
 apenas na tabela meta?

 Gostaria que viesse o seguinte resultado:

 loja venda meta
 20 40
 30 60


 Não conseguei entender exatamente o que você quer: Por que a loja 1 não
 deve aparecer no resultado? Pelo que vi aparecem somente os registros da
 tabela tb_meta.


 Obrigado pela ajuda.

 __**___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql._**_org.br
 
 mailto:pgbr-geral@listas.**postgresql.org.brpgbr-geral@listas.postgresql.org.br
 
 https://listas.postgresql.org.**__br/cgi-bin/mailman/listinfo/**
 __pgbr-geral

 https://listas.postgresql.**org.br/cgi-bin/mailman/**
 listinfo/pgbr-geralhttps://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
 



 Abraços
 --
 JotaComm
 http://jotacomm.wordpress.com


 JotaComm, boa tarde.

 Eu questionei no caso de tabela tb_venda estar vazia, como faria para
 trazer os registros da tb_meta. Como se eu tivesse a seguinte estrutura:

 tb_venda
 loja venda


 tb_meta
 loja meta
 240
 360

 Preciso ter o resultado abaixo utilizando a tabela tb_venda como esquerda
 (principal).


 loja venda meta
 20 40
 30 60

 Acontece que em determinados momentos a mesma pode estar vazia e neste
 caso não está trazendo as metas.


Ainda não consegui entender (Confuso ainda): Por exemplo, na tabela
tb_venda não tem o código 3, porém você quer que apareça no resultado,
logo se você usar a tabela tb_venda como principal isso não vai acontecer
(LEFT OUTER JOIN).

Existem alguma relação entre a coluna meta de tb_meta e a coluna venda de
tb_venda. Algo como se o valor de meta (tb_meta) for maior ou igual a venda
(tb_venda)?


 Obrigado!


 __**_
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.**org.brpgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.**br/cgi-bin/mailman/listinfo/**pgbr-geralhttps://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral



Abraços
-- 
JotaComm
http://jotacomm.wordpress.com
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Ajuda com SQL (full outer join)

2013-10-01 Por tôpico Thiago

On 01/10/2013 13:49, JotaComm wrote:

Opa,


Em 1 de outubro de 2013 12:37, Thiago zan...@farmaponte.com.br
mailto:zan...@farmaponte.com.br escreveu:

On 01/10/2013 11:10, JotaComm wrote:

Opa,


Em 1 de outubro de 2013 10:50, Thiago
zan...@farmaponte.com.br
mailto:zan...@farmaponte.com.br
mailto:zan...@farmaponte.com.__br
mailto:zan...@farmaponte.com.br
escreveu:


 Bom dia a todos.

 Tenho as seguintes tabelas

 tb_venda
 loja venda
 110
 220

 tb_meta
 loja meta
 240
 360

 Eu precisava fazer uma consulta trazendo tudo de tudo, o
que cruzar
 e o que não cruzar, para tal fiz o seguinte sql.

 select
 coalesce(a.loja,b.loja) as loja,
 coalesce(a.venda,0) as venda,
 coalesce(b.meta,0) as meta
 from tb_venda a
 full outer join tb_meta b on a.loja = b.loja

 Como resultado eu teria os seguintes dados:
 loja venda meta
 1100
 22040
 30 60

 O que fazer quando eu não tenho registros na tabela
tb_venda, tenho
 apenas na tabela meta?

 Gostaria que viesse o seguinte resultado:

 loja venda meta
 20 40
 30 60


Não conseguei entender exatamente o que você quer: Por que a
loja 1 não
deve aparecer no resultado? Pelo que vi aparecem somente os
registros da
tabela tb_meta.


 Obrigado pela ajuda.

 ___
 pgbr-geral mailing list

pgbr-geral@listas.postgresql.org.br
http://org.br
 mailto:pgbr-geral@listas.__postgresql.org.br
mailto:pgbr-geral@listas.postgresql.org.br

https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral



https://listas.postgresql.__org.br/cgi-bin/mailman/__listinfo/pgbr-geral
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral



Abraços
--
JotaComm
http://jotacomm..wordpress.com http://jotacomm.wordpress.com


JotaComm, boa tarde.

Eu questionei no caso de tabela tb_venda estar vazia, como faria
para trazer os registros da tb_meta. Como se eu tivesse a seguinte
estrutura:

tb_venda
loja venda


tb_meta
loja meta
240
360

Preciso ter o resultado abaixo utilizando a tabela tb_venda como
esquerda (principal).


loja venda meta
20 40
30 60

Acontece que em determinados momentos a mesma pode estar vazia e
neste caso não está trazendo as metas.


Ainda não consegui entender (Confuso ainda): Por exemplo, na tabela
tb_venda não tem o código 3, porém você quer que apareça no resultado,
logo se você usar a tabela tb_venda como principal isso não vai
acontecer (LEFT OUTER JOIN).

Existem alguma relação entre a coluna meta de tb_meta e a coluna venda
de tb_venda. Algo como se o valor de meta (tb_meta) for maior ou igual a
venda (tb_venda)?


Obrigado!


_
pgbr-geral mailing list
pgbr-geral@listas.postgresql.__org.br
mailto:pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.__br/cgi-bin/mailman/listinfo/__pgbr-geral
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral



Abraços
--
JotaComm
http://jotacomm.wordpress.com




Não, na verdade o campo de referencia é o loja. É que quando comecei a 
utilizar o left outer join eu imaginei que ele traria de qualquer dos 
lados, mas viajei.


Vou criar uma subconsulta com union nas tabelas antes de cruzar, 
acredito ser a melhor solução. Algo como:


select tm.loja
from (
  select loja from tb_venda
  union all
  select loja from tb_meta
) as tm
group by tm.loja

E depois utilizar o resultado disso para cruzar com as outras.

Obrigado pela ajuda.

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


Re: [pgbr-geral] Ajuda com SQL (full outer join)

2013-10-01 Por tôpico Osvaldo Kussama
Em 01/10/13, Thiagozan...@farmaponte.com.br escreveu:
 On 01/10/2013 13:49, JotaComm wrote:
 Opa,


 Em 1 de outubro de 2013 12:37, Thiago zan...@farmaponte.com.br
 mailto:zan...@farmaponte.com.br escreveu:

 On 01/10/2013 11:10, JotaComm wrote:

 Opa,


 Em 1 de outubro de 2013 10:50, Thiago
 zan...@farmaponte.com.br
 mailto:zan...@farmaponte.com.br
 mailto:zan...@farmaponte.com.__br
 mailto:zan...@farmaponte.com.br
 escreveu:


  Bom dia a todos.

  Tenho as seguintes tabelas

  tb_venda
  loja venda
  110
  220

  tb_meta
  loja meta
  240
  360

  Eu precisava fazer uma consulta trazendo tudo de tudo, o
 que cruzar
  e o que não cruzar, para tal fiz o seguinte sql.

  select
  coalesce(a.loja,b.loja) as loja,
  coalesce(a.venda,0) as venda,
  coalesce(b.meta,0) as meta
  from tb_venda a
  full outer join tb_meta b on a.loja = b.loja

  Como resultado eu teria os seguintes dados:
  loja venda meta
  1100
  22040
  30 60

  O que fazer quando eu não tenho registros na tabela
 tb_venda, tenho
  apenas na tabela meta?

  Gostaria que viesse o seguinte resultado:

  loja venda meta
  20 40
  30 60


 Não conseguei entender exatamente o que você quer: Por que a
 loja 1 não
 deve aparecer no resultado? Pelo que vi aparecem somente os
 registros da
 tabela tb_meta.


  Obrigado pela ajuda.

  ___
  pgbr-geral mailing list

 pgbr-geral@listas.postgresql.org.br
 http://org.br
  mailto:pgbr-geral@listas.__postgresql.org.br
 mailto:pgbr-geral@listas.postgresql.org.br

 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral



 https://listas.postgresql.__org.br/cgi-bin/mailman/__listinfo/pgbr-geral

 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral



 Abraços
 --
 JotaComm
 http://jotacomm..wordpress.com http://jotacomm.wordpress.com


 JotaComm, boa tarde.

 Eu questionei no caso de tabela tb_venda estar vazia, como faria
 para trazer os registros da tb_meta. Como se eu tivesse a seguinte
 estrutura:

 tb_venda
 loja venda


 tb_meta
 loja meta
 240
 360

 Preciso ter o resultado abaixo utilizando a tabela tb_venda como
 esquerda (principal).


 loja venda meta
 20 40
 30 60

 Acontece que em determinados momentos a mesma pode estar vazia e
 neste caso não está trazendo as metas.


 Ainda não consegui entender (Confuso ainda): Por exemplo, na tabela
 tb_venda não tem o código 3, porém você quer que apareça no resultado,
 logo se você usar a tabela tb_venda como principal isso não vai
 acontecer (LEFT OUTER JOIN).

 Existem alguma relação entre a coluna meta de tb_meta e a coluna venda
 de tb_venda. Algo como se o valor de meta (tb_meta) for maior ou igual a
 venda (tb_venda)?


 Obrigado!


 _
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.__org.br
 mailto:pgbr-geral@listas.postgresql.org.br

 https://listas.postgresql.org.__br/cgi-bin/mailman/listinfo/__pgbr-geral

 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral



 Abraços
 --
 JotaComm
 http://jotacomm.wordpress.com



 Não, na verdade o campo de referencia é o loja. É que quando comecei a
 utilizar o left outer join eu imaginei que ele traria de qualquer dos
 lados, mas viajei.

 Vou criar uma subconsulta com union nas tabelas antes de cruzar,
 acredito ser a melhor solução. Algo como:

 select tm.loja
 from (
select loja from tb_venda
union all
select loja from tb_meta
 ) as tm
 group by tm.loja

 E depois utilizar o resultado disso para cruzar com as outras.



Não vejo sentido em utilizar o GROUP BY nesta consulta, é só eliminar
a opção ALL da UNION [1].

select loja from tb_venda
   union
select loja from tb_meta;

Osvaldo

[1] http://www.postgresql.org/docs/current/interactive/queries-union.html
query1 UNION [ALL] query2
UNION effectively appends the result of query2 to the result of query1
(although there is no guarantee that this is the order in which the
rows are actually returned). Furthermore, it eliminates duplicate rows
from its result, in the same way as DISTINCT, unless UNION ALL is
used.
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br

Re: [pgbr-geral] Ajuda com SQL (full outer join)

2013-10-01 Por tôpico Osvaldo Kussama
Em 01/10/13, Thiagozan...@farmaponte.com.br escreveu:
 On 01/10/2013 11:41, Osvaldo Kussama wrote:
 Em 01/10/13, Thiagozan...@farmaponte.com.br escreveu:
 Bom dia a todos.

 Tenho as seguintes tabelas

 tb_venda
 loja venda
 110
 220

 tb_meta
 loja meta
 240
 360

 Eu precisava fazer uma consulta trazendo tudo de tudo, o que cruzar e o
 que não cruzar, para tal fiz o seguinte sql.

 select
  coalesce(a.loja,b.loja) as loja,
  coalesce(a.venda,0) as venda,
  coalesce(b.meta,0) as meta
 from tb_venda a
 full outer join tb_meta b on a.loja = b.loja

 Como resultado eu teria os seguintes dados:
 loja venda meta
 1100
 22040
 30 60

 O que fazer quando eu não tenho registros na tabela tb_venda, tenho
 apenas na tabela meta?

 Gostaria que viesse o seguinte resultado:

 loja venda meta
 20 40
 30 60

 Obrigado pela ajuda.



 Pelo que consegui entender seria:
 select
  coalesce(a.loja,b.loja) as loja,
  coalesce(a.venda,0) as venda,
  coalesce(b.meta,0) as meta
 from tb_venda a
 full outer join tb_meta b on a.loja = b.loja
 WHERE a.loja IS NULL;

 que corresponde a sua descrição mas que não corresponde a seu exemplo.

 Osvaldo

 Osvaldo, boa tarde.

 Mas em alguns casos a minha tabela tb_venda vai estar vazia, neste caso
 não está trazendo nenhum registro da tabela tb_meta.

 Gostaria de trazer todos os registros da tb_meta tendo a tb_venda como
 tabela da esquerda.

 No exemplo que dei, tenho 2 registros em cada tabela, mas no caso de não
 ter nada na tabela tb_venda (esquerda/principal) não está trazendo nada
 da tb_meta (direita).


Verifique se é isto que deseja:
select
  b.loja as loja,
  coalesce(a.venda,0) as venda,
  b.meta as meta
from tb_meta b
left outer join tb_venda a on a.loja = b.loja;

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] Ajuda com SQL (full outer join)

2013-10-01 Por tôpico Guimarães Faria Corcete DUTRA , Leandro
2013/10/1 Matheus de Oliveira matioli.math...@gmail.com:

 O NATURAL
 JOIN não tem nada a ver com integridade referencial, ele basicamente faz um
 INNER JOIN de todas as colunas com o mesmo nome nas duas tabelas.

Verdade.  Lapso meu, mil perdões.


 Em casos como esse, eu recomendaria o USING.

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


Re: [pgbr-geral] Ajuda com SQL (full outer join)

2013-10-01 Por tôpico Guimarães Faria Corcete DUTRA , Leandro
2013/10/1 Matheus de Oliveira matioli.math...@gmail.com:

 O NATURAL JOIN não faz sentido no cenário do OP, porque ele quer um outer.

NATURAL FULL OUTER JOIN, pelo que entendi.  Só para constar, concordo
que o USING fica mais robusto.
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Utilizando pg_dump no crontab

2013-10-01 Por tôpico Matheus de Oliveira
2013/9/30 Hugo Quinteiro h...@controlware.com.br

  Bom dia, 

 ** **

 Executo o comando “/usr/bin/./pg_dump -U postgres -F c
 --file=/etc/publico/backup/$(date +%Y_%m_%d__%H_%M_%S).backup basededados”
 e consigo fazer o backup normalmente. Mas ao carregar o comando: “0 22 * *
 * /usr/bin/./pg_dump -U postgres -F c --file=/etc/publico/backup/$(date
 +%Y_%m_%d__%H_%M_%S).backup websac”, no crontab o Linux não executa o
 backup. 

 ** **

 Alguém pode me ajudar??

 **


O problema que você está enfrentando é o fato do crontab tratar um símbolo
de porcentagem de forma especial. Ele faz um parser e considera cada %
como uma nova linha para mandar ao shell. Nesse caso a solução para seus
problemas seria:

1. Adicionar escapes:

0 22 * * * /usr/bin/./pg_dump -U postgres -F c
--file=/etc/publico/backup/$(date +\%Y_\%m_\%d__\%H_\%M_\%S).backup websac

2. Ou, colocar a execução do comando num script .sh e chamá-lo pelo cron.

Eu acho a segunda solução mais fácil e mais adequada, principalmente na
hora de dar manutenção.

OBS: Um backup salvando em /etc/? Não acha que seria bom rever os locais
de seus arquivos? Procure por Linux FHS para saber mais.


Atenciosamente,
-- 
Matheus de Oliveira
Analista de Banco de Dados
Dextra Sistemas - MPS.Br nível F!
www.dextra.com.br/postgres
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Ajuda com SQL (full outer join)

2013-10-01 Por tôpico Matheus de Oliveira
2013/10/1 Guimarães Faria Corcete DUTRA, Leandro l...@dutras.org

 2013/10/1 Matheus de Oliveira matioli.math...@gmail.com:
 
  O NATURAL
  JOIN não tem nada a ver com integridade referencial, ele basicamente faz
 um
  INNER JOIN de todas as colunas com o mesmo nome nas duas tabelas.

 Verdade.  Lapso meu, mil perdões.


  Em casos como esse, eu recomendaria o USING.

 Certíssimo.


Tranquilo, acontece... =D

At.
-- 
Matheus de Oliveira
Analista de Banco de Dados
Dextra Sistemas - MPS.Br nível F!
www.dextra.com.br/postgres
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Ajuda com SQL (full outer join)

2013-10-01 Por tôpico Matheus de Oliveira
2013/10/1 Guimarães Faria Corcete DUTRA, Leandro l...@dutras.org

 2013/10/1 Matheus de Oliveira matioli.math...@gmail.com:
 
  O NATURAL JOIN não faz sentido no cenário do OP, porque ele quer um
 outer.

 NATURAL FULL OUTER JOIN, pelo que entendi.  Só para constar, concordo
 que o USING fica mais robusto.



Eu exclui o NATURAL JOIN da minha cabeça de certa forma que até esqueci que
ele funciona com OUTER JOINs... Viu como todos temos lapsos?! =P


Atenciosamente,
-- 
Matheus de Oliveira
Analista de Banco de Dados
Dextra Sistemas - MPS.Br nível F!
www.dextra.com.br/postgres
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Ajuda com SQL (full outer join)

2013-10-01 Por tôpico Thiago

Vou criar uma subconsulta com union nas tabelas antes de cruzar,
acredito ser a melhor solução. Algo como:

select tm.loja
from (
select loja from tb_venda
union all
select loja from tb_meta
) as tm
group by tm.loja

E depois utilizar o resultado disso para cruzar com as outras.




Não vejo sentido em utilizar o GROUP BY nesta consulta, é só eliminar
a opção ALL da UNION [1].

select loja from tb_venda
union
select loja from tb_meta;

Osvaldo


Obrigado pela dica.

Está ai o problema de aprender algo e utilizar para sempre sem verificar 
os comando parecidos.


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