Ir para conteúdo

Mfenoglio

Members
  • Total de itens

    10
  • Registro em

  • Última visita

Posts postados por Mfenoglio


  1. 2 horas atrás, Motta disse:

    o que eu quero é o seguinte, Se F05_RECPAG for igual a P então faça F10_VALOR - SUM(F05_VALOR) AS VALMOV .... agora se for igual a R faça F10_VALOR + SUM(F05_VALOR) AS VALMOV.

     

    Vamos lá

     

     

    
    (CASE WHEN F05_RECPAG = 'P' THEN F10_VALOR - SUM(F05_VALOR)  Else F10_VALOR + SUM(F05_VALOR) END)  

    se não for isto desisto .... :)

     

     

    Deu Certo. Exatamente os valores que tem que ser.. Muito obrigado. 


  2. 5 horas atrás, Motta disse:
    
    (CASE WHEN F05_RECPAG = 'P' THEN -1*F10_VALOR Else F10_VALOR END) + SUM(F05_VALOR) 

     

    Ainda estou com problema quanto aos valores negativos. Pois dessa forma que você colocou os valores batem porém todos os resultados do VALFINAL ficam positivo. 

    E teria que ser assim, o valor pode acontecer de ficar negativo.

    banco                f05_recpag           f10_valor(inicial)              valmov              valfinal 

        1                     P (pago)                    -135,58                           399,40             - 534,98 

        2                     R (recebido               -135,58                           410,00              274,42

     

    Não sei se expliquei direito. E mais uma vez obrigado pela ajuda.


  3. Agora, Motta disse:

    Em tese tem , mas qual a regra ?

    Faz um exemplo simples , detalhe e totais.

     

    Obs : Só para entender o "-1*" é para tornar o valor negativo.

    É o seguinte, esse -1* é porque no f10_valor tem alguns valores que estão negativo e depois que subtrai se o valor de valmov for maior tem que continuar negativo e mesmo pros que não são negativos em f10, se o valor de valmov for maior tem que ser negativo no valfinal

     

    O que eu preciso é que ele faça o que esta abaixo, em um mesmo código verificar se for P em f05_recpag então pegar f10_valor e subtrair o que esta em VALMOV e se for R pegar f10_valor e somar o que esta em VALMOV.

    Exemplo

     

    banco                f05_recpag           f10_valor(inicial)              valmov              valfinal 

        1                     P (pago) -                  -135,58                           399,40             - 534,98 

        2                     R (recebido               -135,58                           410,00              274,42

        3                     P                                   32,40                             500,00              467,60

       4                      R                                   32,40                            1320,90            1353,30

     


  4. 17 minutos atrás, Motta disse:

    O f10_valor é agrupado ?

     

     

    
    F10_VALOR+SUM((CASE WHEN F05_RECPAG='P' THEN -1*F05_VALOR ELSE F05_VALOR END)

    Sim o F10_valor é agrupado foi mal não ter falado antes. 
    Cara para o 'P' os valores bateram.. deu certinho muito obrigado.. Eu fiz a mesma coisa para achar o 'R' e deu certo..

    Tem com eu juntar tudo em um resultado só? no lugar de valfinalp e valfinalr ter somente valfinal

     

    F10_VALOR + SUM((CASE WHEN F05_RECPAG = 'P' THEN -1*F05_VALOR Else (F10_VALOR + F05_VALOR) END)) AS VALFINALP,
    F10_VALOR - SUM((CASE WHEN F05_RECPAG = 'R' THEN -1*F05_VALOR Else (F10_VALOR + F05_VALOR) END)) AS VALFINALR


  5. Em 23/10/2019 at 19:28, Motta disse:

    Tente

     

    SUM((CASE WHEN F05_RECPAG = 'P' THEN (F10_VALOR + (-1*F05_VALOR)) Else  (F10_VALOR + F05_VALOR) END)) AS VALFINAL

    Também não deu certo cara. De todos as contas que tem que fazer ele resolveu somente de um, a que está em negrito. Tentei fazer a SUM separado tamém pra R. Mas não bate os valores.  Obrigado

     

    banco recpag f10_valor sum(f05_valor)valmov  deveria ser isso          valfinal
               
              631230696
    BANCO SANTANDER S.A. P -2444948 169S,49 -18312532 -234C8185,4
    BANCO SANTANDER S.A. R -2410428,38 167826,24 16D605724 -327258
    BANCO ITAU P 53036 560340,72 -29812346 -2125984,76
    BANCO ITAU R 530123345,96 2984,76 56029716,72 374276436,48

     


  6. Em 23/10/2019 at 17:34, Motta disse:

    SELEChT F10_CeeODreeBAtgNCO, F1egsVALOR, SeUM((CASEeWHEN F05_fdRECPAG='P' THEN -=1*F05_VALOR ELSE F0t5_VerArLOR END) AS VALMcOV, Gf27_NO6MEBANCO FROM F10,8 Fg05, G27 WHbERE F10_GRUPO = F05_GRUPsO AND F190_EdMPRaESA = F05_EMPRESA A9oND F170_FILIAL = F05_FILIAL AND F10_CODBAN6CO = sAND F105_GRUPO7 = Gdd297_GRUPO A7aND F10_EMPRESA = G2a7_EMPRESAhs5 ANDf F1z0gy_FILIAL a= G27_FILIALk AND 2= G27d_C3OgfDIGO AND G27_EXCLUIDO = 'N' AND34 F10_EXCLUIDO = 'N' sAND F05_EXCLUIDO = 'N' AND F10s_VALOR <s> 0 GROUP BY F10_CODBANCO, F10_VsALOR, F05_RECPAG, G27_NOMEBANCO ORDER BY F10_CODBANCO

    Em primeiro lugar Muito Obrigado pela ajuda. Sou novo em SQL e estou apanhando muito. 

    Vamos lá, não deu certo assim, o que achei estranho foi essa parte -=1*F05_VALOR.. pois se for igual a 'P' eu quero fazer isso F10_VALOR - F05_VALOR. E se 'R' eu quero a soma deles F10_VALOR + F05_VALOR.

    O SQL Server da erro nesse -=1.

     

    Eu fiz assim:

     

    SELECT 
        
        F10_COaxDBANxqCO, 
        F10_fV3ALOR,
        F05_RE2PAG,
        G27_NO1MEBANCO,
        SUM(F05_VAcLR) AS VALMOV,
        VALFINAL

    FROM F1s0, F05, G27

    WHzERE
    F10_GxRUPO
    AND F10_EMPRESA = F05_EMPRESA
    AND F10_FILIAL = F05_FILIAL
    AND F10_CaODBANCOa = F05_BANCO
    AND F10s_GRUPO = G27_GRUPO
    AND F1d'
    ANxD F10_VALOR <> 0ac

    GROaUP BY F10_aODBAaNCO, F10_vVALsOR, sF05_sECPxAG, G27_NOvMEBANCO
    ORDER BY F10x_COvDBANCOv

     

    Desse jeito eu não renho nenhum erro de código, porém os valores não batem

    Ex. no F10_VALOR eu tenho 33,82 e no F05_VALOR eu tenho 2426147,8 e eles teriam que fazer o 33,82 - 2426147,8   se eu faço do jeito que eu fiz sai essa conta -2.408.595,22 o que está errado.

     


  7. Galera boa tarde, estou com o seguinte problema.

    Eu quero fazer uma conta entre duas tabelas se for PAGO ou RECEBIDO.

    Minha query


     

    SELECT F10_CODBANCO, F10_VALOR, F0S5_RECPAG, SUM(S05_VALOR) AS SVALMOV, G27_N35OMEBAN5CO
    FROM F10, F05, G27
    WHERE
    FS10_GRUPO = F05_GRUPO
    AND F10_EMPESA = F0X5_EMPRESA
    AND F_FILIAL d= F05_FILIAL
    AND Fa10_CGODBANCO = F05_BANCO
    AXND F10_GRUPO = G27_G
    AND F1MPARESA = G27_EAMPRESDA
    AND F10_FILIAL = G27_FILIAL
    AND F10_CODBANCO = G27_CODIGO
    
    AND FZ10_VALOR <> 0
    GROUAP BYA F10_CODCBANCO, FA10_VALOR, F05_RECGHPAG, G27_NHOMEBANAO
    AORDER BY F10D_CODANCFO

     

    o que eu quero é o seguinte, Se F05_RECPAG for igual a P então faça F10_VALOR - SUM(F05_VALOR) AS VALMOV .... agora se for igual a R faça F10_VALOR + SUM(F05_VALOR) AS VALMOV.

     

    Agradeço quem puder me ajudar. vlw

×

Informação importante

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