Select Group by Firebird 2.1.2
Olá pessoal!!
Estou com um prolema que nao consegui resolver!!
Tenho um tabela chamada-ITENS_SAIDA, onde sao cadastrados os produtos que serao levados em uma viagem. Quando o vendedor voltar preciso somar
as vendas, agrupar todas, ja que foram feitas em quantidades diferentes para clientes diferentes- serao gravadas na tabela ITENS_CLIENTES; devem ser somadas o ITENS_RETORNO e as TROCAS de cada cliente e tbm agrupa-las.
Criei quatro tabelas:
Queria saber pq esse codigo abaixo nao retorna as quantidades corretas:
Estou com um prolema que nao consegui resolver!!
Tenho um tabela chamada-ITENS_SAIDA, onde sao cadastrados os produtos que serao levados em uma viagem. Quando o vendedor voltar preciso somar
as vendas, agrupar todas, ja que foram feitas em quantidades diferentes para clientes diferentes- serao gravadas na tabela ITENS_CLIENTES; devem ser somadas o ITENS_RETORNO e as TROCAS de cada cliente e tbm agrupa-las.
Criei quatro tabelas:
CREATE TABLE ITENS_CLIENTES ( ID INTEGER NOT NULL, NUM_PEDIDO INTEGER NOT NULL, PRODUTO_ID INTEGER NOT NULL, CLIENTE_ID INTEGER NOT NULL, VALOR_VENDA NUMERIC(15,2), MGL_ITEN NUMERIC(15,1), VALOR_TOTAL NUMERIC(15,2), QUANTIDADE INTEGER, DESCRICAO VARCHAR(70), COMISSAO_ITEM NUMERIC(15,2), VALOR_CUSTO NUMERIC(15,2) ); CREATE TABLE TROCAS ( ID INTEGER NOT NULL, PRODUTO_ID INTEGER NOT NULL, DESCRICAO VARCHAR(70), VALOR_PRODUTO NUMERIC(15,2), QUANTIDADE INTEGER, VALOR_TOTAL NUMERIC(15,2), COMISSAO_TROCAS NUMERIC(15,2) ); CREATE TABLE ITENS_RETORNO ( ID INTEGER NOT NULL, PRODUTO_ID INTEGER NOT NULL, DESCRICAO VARCHAR(70), VALOR_PRODUTO NUMERIC(15,2), QUANTIDADE INTEGER, VALOR_TOTAL NUMERIC(15,2) ); CREATE TABLE ITENS_SAIDA ( ID INTEGER NOT NULL, FUNCIONARIO_ID INTEGER NOT NULL, PRODUTO_ID INTEGER NOT NULL, DESCRICAO VARCHAR(70), QUANTIDADE INTEGER, PESO DOUBLE PRECISION, CAIXAS INTEGER, VALOR_CUSTO NUMERIC(15,2), VALOR_PRODUTO NUMERIC(15,2), QTDE_RESTANTE INTEGER );
Queria saber pq esse codigo abaixo nao retorna as quantidades corretas:
SELECT MAX(ITC.ID) AS ID,MAX(ITC.PRODUTO_ID) AS PRODUTO_ID,MAX(ITC.DESCRICAO) AS DESCRICAO, MAX(ITC.VALOR_CUSTO) AS VALOR_CUSTO,AVG(ITC.VALOR_VENDA) AS VALOR_VENDA, MAX(ITS.QUANTIDADE) AS SAIDA,MAX(ITR.QUANTIDADE) AS RETORNO,MIN(TR.QUANTIDADE) AS TROCA, SUM(ITC.QUANTIDADE) AS VENDAS, SUM(ITC.VALOR_TOTAL)AS VALOR_TOTAL FROM ITENS_CLIENTES ITC INNER JOIN ITENS_SAIDA ITS ON ITS.PRODUTO_ID = ITC.PRODUTO_ID INNER JOIN TROCAS TR ON TR.PRODUTO_ID = ITC.PRODUTO_ID INNER JOIN ITENS_RETORNO ITR ON ITR.PRODUTO_ID = ITC.PRODUTO_ID WHERE ITC.ID = :ID GROUP BY ITC.PRODUTO_ID
Ednilson Campos
Curtidas 0