PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum Select Group by Firebird 2.1.2 #370725

24/05/2009

0

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:
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

Ednilson Campos

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar