Boa tarde,
Estou com um problema com o Postgresql que penso que alguém versado em sql poderá resolver com facilidade. Numa base de dados dos Censos 2001, tenho várias tabelas, duas das quais chamam-se <c2001_individuos> e c2001_subsecs (relacionadas pelo código da sub-secção estatística) Pretendo obter uma tabela com cada freguesia (censos2001.c2001_subsecs.cc_dsg_eu02) do concelho de Tomar (censos2001.c2001_subsecs.cc_dsg_eu02 = 'Tomar'), com a soma da população residente em cada ( sum(censos2001.c2001_individuos.ttr) ). Tentei várias coisas, mas sem sucesso. --------------------- Tentativa 1: select censos2001.c2001_subsecs.ff_dsg_eu02, sum(censos2001.c2001_individuos.ttr) from censos2001.c2001_subsecs, censos2001.c2001_individuos where censos2001.c2001_subsecs.subsec = censos2001.c2001_individuos.subsec group by censos2001.c2001_subsecs.ff_dsg_eu02 having censos2001.c2001_subsecs.cc_dsg_eu02 = 'Tomar'; ERRO: ERROR: column "c2001_subsecs.cc_dsg_eu02" must appear in the GROUP BY clause or be used in an aggregate function (compreendo mas não comsigo resolver) --------------------- Tentativa 2: select censos2001.c2001_subsecs.ff_dsg_eu02, sum(censos2001.c2001_individuos.ttr) from censos2001.c2001_subsecs, censos2001.c2001_individuos where censos2001.c2001_subsecs.cc_dsg_eu02 = (select censos2001.c2001_subsecs.cc_dsg_eu02 from censos2001.c2001_subsecs where censos2001.c2001_subsecs.cc_dsg_eu02 = 'Tomar') AND censos2001.c2001_subsecs.subsec = censos2001.c2001_individuos.subsec group by censos2001.c2001_subsecs.ff_dsg_eu02; ERRO: ERROR: more than one row returned by a subquery used as an expression -------------------------- Se eu pretendesse obter simplesmente o total da população de Tomar, sei que seria fácil: select censos2001.c2001_subsecs.cc_dsg_eu02, sum(censos2001.c2001_individuos.ttr) from censos2001.c2001_subsecs, censos2001.c2001_individuos where censos2001.c2001_subsecs.subsec = censos2001.c2001_individuos.subsec group by censos2001.c2001_subsecs.cc_dsg_eu02 having censos2001.c2001_subsecs.cc_dsg_eu02 = 'Tomar'; Mas não é bem isto… Sei que me está a falhar algo simples, mas o quê? Isto da pouca prática com SQL tem destas coisas. Obrigado. Abraços, António
_______________________________________________ Portugal mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/portugal
