Fórum Problemas no select com Interbase / Firebird #42601
26/02/2004
0
Alguem pode me explicar porque este select funciona no FIREBIRD 1.5 e não funciona no INTERBASE 6
este é o SELECT:
SELECT MOV.PRODUTO_CODIGO, PRO.PRODUTO_DESCRICAO,
(SELECT SUM(MOV_ESTOQUE_QUANTIDADE) FROM MOVIMENTACAO_ESTOQUE
WHERE MOV_ESTOQUE_OPERACAO = ´SAIDA´
GROUP BY PRODUTO_CODIGO) as saida,
(SELECT SUM(MOV_ESTOQUE_QUANTIDADE) FROM MOVIMENTACAO_ESTOQUE
WHERE MOV_ESTOQUE_OPERACAO = ´ENTRADA´
GROUP BY PRODUTO_CODIGO) as entrada,
(SELECT SUM(MOV_ESTOQUE_QUANTIDADE) FROM MOVIMENTACAO_ESTOQUE
WHERE MOV_ESTOQUE_OPERACAO = ´ENTRADA´
GROUP BY PRODUTO_CODIGO)-(SELECT SUM(MOV_ESTOQUE_QUANTIDADE) FROM MOVIMENTACAO_ESTOQUE
WHERE MOV_ESTOQUE_OPERACAO = ´SAIDA´
GROUP BY PRODUTO_CODIGO) as saldo
FROM MOVIMENTACAO_ESTOQUE MOV, PRODUTOS PRO
WHERE MOV.PRODUTO_CODIGO = PRO.PRODUTO_CODIGO
GROUP BY MOV.PRODUTO_CODIGO, PRO.PRODUTO_DESCRICAO;
este é o SELECT:
SELECT MOV.PRODUTO_CODIGO, PRO.PRODUTO_DESCRICAO,
(SELECT SUM(MOV_ESTOQUE_QUANTIDADE) FROM MOVIMENTACAO_ESTOQUE
WHERE MOV_ESTOQUE_OPERACAO = ´SAIDA´
GROUP BY PRODUTO_CODIGO) as saida,
(SELECT SUM(MOV_ESTOQUE_QUANTIDADE) FROM MOVIMENTACAO_ESTOQUE
WHERE MOV_ESTOQUE_OPERACAO = ´ENTRADA´
GROUP BY PRODUTO_CODIGO) as entrada,
(SELECT SUM(MOV_ESTOQUE_QUANTIDADE) FROM MOVIMENTACAO_ESTOQUE
WHERE MOV_ESTOQUE_OPERACAO = ´ENTRADA´
GROUP BY PRODUTO_CODIGO)-(SELECT SUM(MOV_ESTOQUE_QUANTIDADE) FROM MOVIMENTACAO_ESTOQUE
WHERE MOV_ESTOQUE_OPERACAO = ´SAIDA´
GROUP BY PRODUTO_CODIGO) as saldo
FROM MOVIMENTACAO_ESTOQUE MOV, PRODUTOS PRO
WHERE MOV.PRODUTO_CODIGO = PRO.PRODUTO_CODIGO
GROUP BY MOV.PRODUTO_CODIGO, PRO.PRODUTO_DESCRICAO;
Leandro Jacomete
Curtir tópico
+ 0
Responder
Posts
26/02/2004
Sremulador
qual a mansagem de erro ?
Responder
Gostei + 0
26/02/2004
Maicon Loffi
SELECT MOV.PRODUTO_CODIGO, PRO.PRODUTO_DESCRICAO,
(SELECT SUM(MOV_ESTOQUE_QUANTIDADE) FROM MOVIMENTACAO_ESTOQUE
WHERE MOV_ESTOQUE_OPERACAO = ´SAIDA´
GROUP BY PRODUTO_CODIGO) as saida,
Amigo, seu problema é o ´GROUP BY PRODUTO_CODIGO´,
Esta condição não existe, vc está confundindo com o select MOV.PRODUTO_CODIGO.
Melhor dizendo.
Vc está varendo um tabela que automaticamente a cada registro faz uma soma deste código em outras tabelas, então o GROUP BY PRODUTO_CODIGO não existe nesta condição.
blz!!!
T+
(SELECT SUM(MOV_ESTOQUE_QUANTIDADE) FROM MOVIMENTACAO_ESTOQUE
WHERE MOV_ESTOQUE_OPERACAO = ´SAIDA´
GROUP BY PRODUTO_CODIGO) as saida,
Amigo, seu problema é o ´GROUP BY PRODUTO_CODIGO´,
Esta condição não existe, vc está confundindo com o select MOV.PRODUTO_CODIGO.
Melhor dizendo.
Vc está varendo um tabela que automaticamente a cada registro faz uma soma deste código em outras tabelas, então o GROUP BY PRODUTO_CODIGO não existe nesta condição.
blz!!!
T+
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)