Select SQL Postgre retornando erro [RESOLVIDO]

5 respostas
postgresqlprogramação
M

fala pessoal, eu estou tentando executar um select no postgre

select ua.descricao_unidade_administrativa, emp.nome_empresa, doc.processo, ra.descricao_ra,
doc.contrato_lote, doc.valor_contrato, sum(op.valor_operacao) as aditivos, doc.numero_documento
from “TB_AUX_UNIDADE_ADMINISTRATIVA” as ua, “TB_AUX_EMPRESAS” as emp, “TB_DOCUMENTO” as doc,
“TB_AUX_REGIAO_ADMINISTRATIVA” as ra, “TB_DOCUMENTO_OPERACAO” as op
where ua.id_unidade_administrativa = 10000 and emp.id_empresa in (select interessado_documento
from “TB_DOCUMENTO” where id_documento = 7345) and doc.id_documento = 7345 and ra.id_ra in (
select id_endereco from “TB_DOCUMENTO” where id_documento = 7345) and op.id_documento = 7345 and
op.id_situacao = 5132

mas fica retornando um erro

“ERRO: coluna “ua.descricao_unidade_administrativa” deve aparecer na cláusula GROUP BY ou ser utilizada em uma função de agregação”

quando adiciono a coluna ao group by ele pede a proxima, e assim sucessivamente, quando chega no processo, ele fala que a agregação dele no group by é ambigua, e se eu tiro ele solicita novamente que adicione

5 Respostas

R

Poste o esquema do banco de dados, mas pelo visto você deve ter que tratar algum muitos para muitos e isso faz com que deva fazer alguma modificação no sql;

M

entao cara, o banco é bem maior que essa consulta, mas nela as relacoes sao assim (bem improvisado hehe)

esquema_consulta

a unica 1 para muito os valores sao somados, entao nao sei

R

Eu não consegui identificar erros, pois pelo nome dos atributos dá pra ver que não há necessidade de um group by.

Dê uma olhada se o id de documento 7345 se repete na tabela de empresas, ou se ele trás um único ID.
A mesma coisa para os endereços.

M

eu consegui “resolver” aqui
o erro tava ocorrendo por causa do sum(), ele obrigava aos outros retornos de estarem em um group by, mas fazendo isso tudo voltava nulo
entao eu fiz dois selects, um pro sum() e outro para o restante, assim funciona

R

Hum, verdade.
Eu não tinha reparado que utilizava mais atributos da tabela OP além do SUM.

Se você postar os atributos das tabelas eu posso te ajudar a construir um sql que faça tudo junto.

Criado 15 de janeiro de 2018
Ultima resposta 15 de jan. de 2018
Respostas 5
Participantes 2