Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

roberto182

Problema com uma query

Recommended Posts

Bom dia, Estou precisando de ajuda em uma query que utiliza duas tabelas. Os resultados que eu preciso são: o código, a descrição, a quantididade atual em estoque, e o total que saiu de um determinado produto (em um intervalo de tempo).Minhas tabelas são: t_produtos e t_movimentacao onde: create table t_produtos( codigo_p varchar(5) primary key not null, descricao_p varchar(50) not null,classe_p varchar(50), localizacao_p varchar(50), minestoque_p integer not null,unidade_p integer not null,maxestoque_p integer not null,custo_p decimal(5,2) not null,preco_p decimal(5,2) not null,observacao_p varchar(255),codigobarra_p varchar(20)); create table t_movimentacao(codigo_m integer primary key not null,codigo_p varchar(5) not null references t_produtos,data_m date not null,quantidade_m integer not null,movimentacao_m integer not null); Eu tentei a seguinte query: SELECT Sum(T_MOVIMENTACAO.QUANTIDADE_M) AS SAIU, T_MOVIMENTACAO.CODIGO_P, T_PRODUTOS.DESCRICAO_P FROM T_PRODUTOS INNER JOIN T_MOVIMENTACAO ON T_PRODUTOS.CODIGO_P = T_MOVIMENTACAO.CODIGO_P WHERE (( T_MOVIMENTACAO.CODIGO_P IN (SELECT CODIGO_P FROM T_PRODUTOS) AND T_MOVIMENTACAO.DATA_M BETWEEN {D '2006-12-01'} AND {D '2006-12-30'} AND T_MOVIMENTACAO.MOVIMENTACAO_M = 2)) GROUP BY T_MOVIMENTACAO.CODIGO_P; O erro:Not in aggregate or group by clause... OBS.: no trecho ...T_MOVIMENTACAO.MOVIMENTACAO_M = 2)) ... o valor 2 é utilizado pois a coluna movimentacao_m da tabela t_movimentacao recebe 1 para entrada e 2 para saida. Se alguém puder me dar um luz... Roberto Santos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, obrigado por visualizar o tópico, mas já consegui a solução:SELECT "T_PRODUTOS"."CODIGO_P", "T_PRODUTOS"."DESCRICAO_P", "T_PRODUTOS"."UNIDADE_P", SUM( "T_MOVIMENTACAO"."QUANTIDADE_M" ) AS "SAIU" FROM "T_MOVIMENTACAO", "T_PRODUTOS" WHERE ( "T_MOVIMENTACAO"."CODIGO_P" = "T_PRODUTOS"."CODIGO_P" ) GROUP BY "T_PRODUTOS"."CODIGO_P", "T_PRODUTOS"."DESCRICAO_P", "T_PRODUTOS"."UNIDADE_P", "T_MOVIMENTACAO"."MOVIMENTACAO_M", "T_MOVIMENTACAO"."DATA_M" HAVING ( ( "T_MOVIMENTACAO"."MOVIMENTACAO_M" = 2 AND "T_MOVIMENTACAO"."DATA_M" BETWEEN {D '2006-12-01' } AND {D '2006-12-30' } ) )Obrigado...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.