|
Fala galera, to me batendo aqui pra fazer uma consulta que some 2
colunas de diferentes tabelas. devo utilizar o sum? mesmo sabendo que cada consulta ja utiliza o sum anteriormente: SELECT meso.the_geom, meso.gid, meso.nome, estab2007.estabfed2007, estab2007.estabest2007, estab2007.estabmun2007, estab2007.estabpriv2007, estab2007_9_anos.estabfed2007_9_anos, estab2007_9_anos.estabest2007_9_anos, estab2007_9_anos.estabmun2007_9_anos, estab2007_9_anos.estabpriv2007_9_anos FROM ( SELECT soc_estab_nfm_2007.mesoregiao, sum(soc_estab_nfm_2007.estab_fund_fed) AS estabfed2007, sum(soc_estab_nfm_2007.estab_fund_est) AS estabest2007, sum(soc_estab_nfm_2007.estab_fund_mun) AS estabmun2007, sum(soc_estab_nfm_2007.estab_fund_priv) AS estabpriv2007 FROM social.soc_estab_nfm_2007 GROUP BY soc_estab_nfm_2007.mesoregiao) estab2007, ( SELECT soc_estab_nfm_2007_9_anos.mesoregiao, sum(soc_estab_nfm_2007_9_anos.estab_fund_fed) AS estabfed2007_9_anos, sum(soc_estab_nfm_2007_9_anos.estab_fund_est) AS estabest2007_9_anos, sum(soc_estab_nfm_2007_9_anos.estab_fund_mun) AS estabmun2007_9_anos, sum(soc_estab_nfm_2007_9_anos.estab_fund_priv) AS estabpriv2007_9_anos FROM social.soc_estab_nfm_2007_9_anos GROUP BY soc_estab_nfm_2007_9_anos.mesoregiao) estab2007_9_anos, ( SELECT mesoregioes.the_geom, mesoregioes.gid, mesoregioes.nome FROM mesoregioes) meso WHERE estab2007.mesoregiao::text = estab2007_9_anos.mesoregiao::text AND estab2007.mesoregiao::text = meso.nome::text AND estab2007_9_anos.mesoregiao = meso.nome::text ja coloquei as tabelas listadas no select, so nao consegui soma-las ainda a ideia era somar estab2007 e estab_2007_9_anos agradeço qualquer dica []´s _______________________________________________ pgbr-geral mailing list [hidden email] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral |
|
+
On Mon, Dec 7, 2009 at 12:37 PM, Bruno Sales <[hidden email]> wrote: > Fala galera, to me batendo aqui pra fazer uma consulta que some 2 > colunas de diferentes tabelas. > devo utilizar o sum? mesmo sabendo que cada consulta ja utiliza o sum > anteriormente: > > SELECT meso.the_geom, meso.gid, meso.nome, estab2007.estabfed2007, > estab2007.estabest2007, estab2007.estabmun2007, > estab2007.estabpriv2007, estab2007_9_anos.estabfed2007_9_anos, > estab2007_9_anos.estabest2007_9_anos, > estab2007_9_anos.estabmun2007_9_anos, > estab2007_9_anos.estabpriv2007_9_anos > FROM ( SELECT soc_estab_nfm_2007.mesoregiao, > sum(soc_estab_nfm_2007.estab_fund_fed) AS estabfed2007, > sum(soc_estab_nfm_2007.estab_fund_est) AS estabest2007, > sum(soc_estab_nfm_2007.estab_fund_mun) AS estabmun2007, > sum(soc_estab_nfm_2007.estab_fund_priv) AS estabpriv2007 > FROM social.soc_estab_nfm_2007 > GROUP BY soc_estab_nfm_2007.mesoregiao) estab2007, ( SELECT > soc_estab_nfm_2007_9_anos.mesoregiao, > sum(soc_estab_nfm_2007_9_anos.estab_fund_fed) AS estabfed2007_9_anos, > sum(soc_estab_nfm_2007_9_anos.estab_fund_est) AS estabest2007_9_anos, > sum(soc_estab_nfm_2007_9_anos.estab_fund_mun) AS estabmun2007_9_anos, > sum(soc_estab_nfm_2007_9_anos.estab_fund_priv) AS estabpriv2007_9_anos > FROM social.soc_estab_nfm_2007_9_anos > GROUP BY soc_estab_nfm_2007_9_anos.mesoregiao) > estab2007_9_anos, ( SELECT mesoregioes.the_geom, mesoregioes.gid, > mesoregioes.nome > FROM mesoregioes) meso > WHERE estab2007.mesoregiao::text = estab2007_9_anos.mesoregiao::text > AND estab2007.mesoregiao::text = meso.nome::text AND > estab2007_9_anos.mesoregiao = meso.nome::text > > > ja coloquei as tabelas listadas no select, so nao consegui soma-las ainda > > a ideia era somar estab2007 e estab_2007_9_anos > > agradeço qualquer dica > []´s > _______________________________________________ > pgbr-geral mailing list > [hidden email] > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > -- Gabriel Vieira _______________________________________________ pgbr-geral mailing list [hidden email] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral |
|
In reply to this post by Bruno Sales-2
2009/12/7 Bruno Sales <[hidden email]>:
> Fala galera, to me batendo aqui pra fazer uma consulta que some 2 > colunas de diferentes tabelas. > devo utilizar o sum? mesmo sabendo que cada consulta ja utiliza o sum > anteriormente: Um exemplo? SELECT tabela_a.data, tabela_a.valor + tabela_b.valor as total FROM tabela_a JOIN tabela_b ON (tabela_b.codigo_a=tabela_a.codigo) WHERE ....; []s Dickson S. Guedes mail/xmpp: [hidden email] - skype: guediz http://guedesoft.net - http://www.postgresql.org.br _______________________________________________ pgbr-geral mailing list [hidden email] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral |
|
2009/12/8 Dickson S. Guedes <[hidden email]>:
> 2009/12/7 Bruno Sales <[hidden email]>: >> Fala galera, to me batendo aqui pra fazer uma consulta que some 2 >> colunas de diferentes tabelas. >> devo utilizar o sum? mesmo sabendo que cada consulta ja utiliza o sum >> anteriormente: > > Um exemplo? > > SELECT tabela_a.data, tabela_a.valor + tabela_b.valor as total > FROM tabela_a > JOIN tabela_b ON (tabela_b.codigo_a=tabela_a.codigo) > WHERE ....; Apenas fazendo um adendo. Se tabela_b.valor for nulo (null) você deverá utilizar COALESCE [1] [1] http://www.postgresql.org/docs/8.1/static/functions-conditional.html#AEN12656 []s Dickson S. Guedes mail/xmpp: [hidden email] - skype: guediz http://guedesoft.net - http://www.postgresql.org.br _______________________________________________ pgbr-geral mailing list [hidden email] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral |
|
Olá,
2009/12/8 Dickson S. Guedes <[hidden email]> 2009/12/8 Dickson S. Guedes <[hidden email]>: Mais um adendo ao que o Guedes comentou, caso tabela_a.valor for NULL é interessante utilizar o COALESCE também.
[]s -- JotaComm http://jotacomm.wordpress.com _______________________________________________ pgbr-geral mailing list [hidden email] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral |
| Powered by Nabble | Edit this page |
