Ir para conteúdo
Fórum Script Brasil

ajgemeos

Membros
  • Total de itens

    4
  • Registro em

  • Última visita

Sobre ajgemeos

Perfil

  • Gender
    Male

ajgemeos's Achievements

0

Reputação

  1. ajgemeos

    saldo anterior

    acredito que a estrutura das tabelas sejam: TMOV 1--------n TITMMOV n ---------1 TPRD o que possuo do banco são os relacionamentos (que tenho que decifrar) para poder gerar os ralatórios...caso não entenda ainda ou eu não tenha passado a informação que deseja, só me questionar novamente...muito obrigado por enquanto...falou..
  2. ajgemeos

    saldo anterior

    bom Denis, valeu pela força, por inexperiência minha, quis postar parte do código, acabei complicando mais, vou passar o código na integra, ele até roda, mas como já mencionado, os valores do SALDO ANTERIOR e SALDO ATUAL saem repetidos para todos os produtos, na verdade há mais um relaciomento entre tabelas, desculpe mais uma vez, agradeço pela força.. SELECT TPRD.NOMEFANTASIA AS NOME, (SELECT (SUM(CASE WHEN(TMOV.CODTMV IN ('1.2.02', '1.2.03', '1.2.05'))THEN TITMMOV.QUANTIDADE ELSE '0' END)) FROM TMOV INNER JOIN TITMMOV ON (TITMMOV.IDMOV = TMOV.IDMOV AND TITMMOV.CODCOLIGADA = TMOV.CODCOLIGADA) INNER JOIN TPRD ON (TPRD.IDPRD = TITMMOV.IDPRD AND TPRD.CODCOLIGADA = TITMMOV.CODCOLIGADA) WHERE TMOV.CODCOLIGADA = '1' AND TMOV.CODTMV IN ('1.2.02', '1.2.03', '1.2.05') AND tprd.codigoprd NOT like '01%' AND tprd.codigoprd NOT like '04.002%' AND tprd.codigoprd NOT like '05%' AND tprd.codigoprd NOT like '06%' AND tprd.codigoprd NOT like '07%' AND tprd.codigoprd NOT like '08%' AND tprd.codigoprd NOT like '09%' AND tprd.codigoprd NOT like '10%' AND tprd.codigoprd NOT like '11%' AND tprd.codigoprd NOT like '12%' AND TMOV.STATUS <> 'C' -- AND TPRD.codigoprd = '03.005.00003' AND TMOV.DATAEMISSAO <'2010-08-01') --data inicio - (SELECT(SUM(CASE WHEN(TMOV.CODTMV IN ('1.1.04'))THEN TITMMOV.QUANTIDADE ELSE '0' END)) FROM TMOV INNER JOIN TITMMOV ON (TITMMOV.IDMOV = TMOV.IDMOV AND TITMMOV.CODCOLIGADA = TMOV.CODCOLIGADA) INNER JOIN TPRD ON (TPRD.IDPRD = TITMMOV.IDPRD AND TPRD.CODCOLIGADA = TITMMOV.CODCOLIGADA) WHERE TMOV.CODCOLIGADA = '1' AND TMOV.CODTMV IN ('1.1.04') AND tprd.codigoprd NOT like '01%' AND tprd.codigoprd NOT like '04.002%' AND tprd.codigoprd NOT like '05%' AND tprd.codigoprd NOT like '06%' AND tprd.codigoprd NOT like '07%' AND tprd.codigoprd NOT like '08%' AND tprd.codigoprd NOT like '09%' AND tprd.codigoprd NOT like '10%' AND tprd.codigoprd NOT like '11%' AND tprd.codigoprd NOT like '12%' AND TPRD.CODIGOPRD NOT LIKE '01%' AND TMOV.STATUS <> 'C' -- AND TPRD.codigoprd = '03.005.00003' AND TMOV.DATAEMISSAO <'2010-08-01') AS SALDO_ANTERIOR, --data inicio SUM(CASE WHEN(TMOV.CODTMV IN ('1.2.02', '1.2.03', '1.2.05'))THEN TITMMOV.QUANTIDADE ELSE '0' END)AS TOT_ENTRADAS, SUM(CASE WHEN(TMOV.CODTMV IN ('1.1.04'))THEN TITMMOV.QUANTIDADE ELSE '0' END) AS TOTAL_BAIXAS, (SELECT(SUM(CASE WHEN(TMOV.CODTMV IN ('1.2.02', '1.2.03', '1.2.05'))THEN TITMMOV.QUANTIDADE ELSE '0' END)) FROM TMOV INNER JOIN TITMMOV ON (TITMMOV.IDMOV = TMOV.IDMOV AND TITMMOV.CODCOLIGADA = TMOV.CODCOLIGADA) INNER JOIN TPRD ON (TPRD.IDPRD = TITMMOV.IDPRD AND TPRD.CODCOLIGADA = TITMMOV.CODCOLIGADA) WHERE TMOV.CODCOLIGADA = '1' AND TMOV.CODTMV IN ('1.2.02', '1.2.03', '1.2.05') AND tprd.codigoprd NOT like '01%' AND tprd.codigoprd NOT like '04.002%' AND tprd.codigoprd NOT like '05%' AND tprd.codigoprd NOT like '06%' AND tprd.codigoprd NOT like '07%' AND tprd.codigoprd NOT like '08%' AND tprd.codigoprd NOT like '09%' AND tprd.codigoprd NOT like '10%' AND tprd.codigoprd NOT like '11%' AND tprd.codigoprd NOT like '12%' AND TMOV.STATUS <> 'C' -- AND TPRD.codigoprd = '03.005.00003' AND TMOV.DATAEMISSAO <='2010-08-31') --data atual - (SELECT(SUM(CASE WHEN(TMOV.CODTMV IN ('1.1.04'))THEN TITMMOV.QUANTIDADE ELSE '0' END)) FROM TMOV INNER JOIN TITMMOV ON (TITMMOV.IDMOV = TMOV.IDMOV AND TITMMOV.CODCOLIGADA = TMOV.CODCOLIGADA) INNER JOIN TPRD ON (TPRD.IDPRD = TITMMOV.IDPRD AND TPRD.CODCOLIGADA = TITMMOV.CODCOLIGADA) WHERE TMOV.CODCOLIGADA = '1' AND TMOV.CODTMV IN ('1.1.04') AND tprd.codigoprd NOT like '01%' AND tprd.codigoprd NOT like '04.002%' AND tprd.codigoprd NOT like '05%' AND tprd.codigoprd NOT like '06%' AND tprd.codigoprd NOT like '07%' AND tprd.codigoprd NOT like '08%' AND tprd.codigoprd NOT like '09%' AND tprd.codigoprd NOT like '10%' AND tprd.codigoprd NOT like '11%' AND tprd.codigoprd NOT like '12%' AND TMOV.STATUS <> 'C' -- AND TPRD.codigoprd = '03.005.00003' AND TMOV.DATAEMISSAO <='2010-08-31')as saldo_atual --data atual FROM TMOV INNER JOIN TITMMOV ON (TITMMOV.IDMOV = TMOV.IDMOV AND TITMMOV.CODCOLIGADA = TMOV.CODCOLIGADA) INNER JOIN TPRD ON (TPRD.IDPRD = TITMMOV.IDPRD AND TPRD.CODCOLIGADA = TITMMOV.CODCOLIGADA) WHERE TMOV.CODCOLIGADA = '1' AND TMOV.CODTMV IN ('1.1.04', '1.2.02', '1.2.03', '1.2.05') AND tprd.codigoprd NOT like '01%' AND tprd.codigoprd NOT like '04.002%' AND tprd.codigoprd NOT like '05%' AND tprd.codigoprd NOT like '06%' AND tprd.codigoprd NOT like '07%' AND tprd.codigoprd NOT like '08%' AND tprd.codigoprd NOT like '09%' AND tprd.codigoprd NOT like '10%' AND tprd.codigoprd NOT like '11%' AND tprd.codigoprd NOT like '12%' AND TMOV.STATUS <> 'C' -- AND TPRD.codigoprd = '03.005.00003' AND tmov.dataemissao BETWEEN '2010-08-01' AND '2010-08-31' GROUP BY TPRD.NOMEFANTASIA --TPRD.SALDOGERALFISICO, --TPRD.CODUNDCONTROLE ORDER BY TPRD.NOMEFANTASIA
  3. ajgemeos

    saldo anterior

    SELECT PRODUTO.NOME AS NOME, (SELECT (SUM(CASE WHEN(MOV.TIPO = 'ENTRADA')THEN MOV.QUANTIDADE ELSE '0' END)) FROM MOV INNER JOIN PRODUTO ON PRODUTO.IDMOV = MOV.IDMOV WHERE MOV.DATAEMISSAO <'2010-08-01' --data inicio GROUP BY PRODUTO.NOME) - (SELECT (SUM(CASE WHEN(MOV.TIPO = 'SAIDA')THEN MOV.QUANTIDADE ELSE '0' END)) FROM MOV INNER JOIN PRODUTO ON PRODUTO.IDMOV = MOV.IDMOV WHERE MOV.DATAEMISSAO <'2010-08-01' --data inicio GROUP BY PRODUTO.NOME) FROM MOV INNER JOIN PRODUTO ON PRODUTO.IDMOV = MOV.IDMOV WHERE AND MOV.DATAEMISSAO BETWEEN '2010-08-01' AND '2010-08-31' GROUP BY PRODUTO.NOME ORDER BY PRODUTO.NOME Coloquei parte do código acima que faz apenas o cálculo do saldo anterior, ou pelo menos deveria retornar os valores do cálculo do SALDO_ANTERIOR para cada produto, mas retorna o erro: Código do erro 512, estado do SQL 21000: Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression. Linha 1, coluna 1, caso eu retire o GROUP BY da subconsulta até funciona, mas repete o valor do cálculo do saldo_anterior para todos os produtos, pessoal agredeço pela atenção, se aguem poder me ajudar...falou
  4. ajgemeos

    saldo anterior

    boa tarde...sou inciante e preciso de uma ajuda, como faço para calcular o saldo anterior apartir de entradas e saidas? neste relatorio seria apresnetado o SALDO ANTERIOR, ENTRADAS, SAIDAS e SALDO ARUAL, conforme periodo(data incial e data final) informado por usuario.Seria possível se feito em SQL? obrigado.
×
×
  • Criar Novo...