Estou fazendo esse SELECT, alguém poderia me ajudar?
03/08/2019
0
Do jeito que estou fazendo ele retorna o valor só que em duas linhas.
SELECT SUM( A.VALORTOTAL )
FROM CO_CONTRATOFATURAMENTO A
WHERE A.DATA >= DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()) -1,0 )
AND NOT A.DATA >= DATEADD(MONTH,DATEDIFF(MONTH,0,GETDATE())+1,0)
AND NOT A.STATUS = 6
UNION
SELECT SUM( A.VALORTOTAL )
FROM FT_ARMAZENAGEM A
WHERE A.DATAFECHAMENTO >= DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()) -1,0 )
AND NOT A.DATAFECHAMENTO >= DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()) -0,0 )
AND A.TIPO NOT IN (2,3)
Alguém pode me ajudar?
Isaque
Post mais votado
05/08/2019
SELECT SUM(TOTAL) TOTALGERAL FROM ( SELECT SUM(VALORTOTAL) TOTAL FROM CO_CONTRATOFATURAMENTO WHERE DATA >= DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE())-1,0 ) AND NOT DATA >= DATEADD(MONTH,DATEDIFF(MONTH,0,GETDATE())+1,0) AND NOT STATUS = 6 UNION ALL SELECT SUM(VALORTOTAL) FROM FT_ARMAZENAGEM WHERE DATAFECHAMENTO >= DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()) -1,0 ) AND NOT DATAFECHAMENTO >= DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()) -0,0 ) AND TIPO NOT IN (2,3) ) TAB
Emerson Nascimento
Mais Posts
04/08/2019
Kleber Santos
Do jeito que estou fazendo ele retorna o valor só que em duas linhas.
SELECT SUM( A.VALORTOTAL )
FROM CO_CONTRATOFATURAMENTO A
WHERE A.DATA >= DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()) -1,0 )
AND NOT A.DATA >= DATEADD(MONTH,DATEDIFF(MONTH,0,GETDATE())+1,0)
AND NOT A.STATUS = 6
UNION
SELECT SUM( A.VALORTOTAL )
FROM FT_ARMAZENAGEM A
WHERE A.DATAFECHAMENTO >= DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()) -1,0 )
AND NOT A.DATAFECHAMENTO >= DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()) -0,0 )
AND A.TIPO NOT IN (2,3)
Alguém pode me ajudar?
SELECT (TABELA_CONTRATO.SOMACONTRATO (troque por sinal de mais) TABELA_ARMAZENAGEM.SOMAARMAZENAGEM) AS TOTAL FROM ( SELECT SUM( A.VALORTOTAL ) AS SOMACONTRATO FROM CO_CONTRATOFATURAMENTO A WHERE A.DATA >= DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()) -1,0 ) AND NOT A.DATA >= DATEADD(MONTH,DATEDIFF(MONTH,0,GETDATE())+1,0) AND NOT A.STATUS = 6 ) TABELA_CONTRATO, (SELECT SUM( A.VALORTOTAL ) AS SOMAARMAZENAGEM FROM FT_ARMAZENAGEM A WHERE A.DATAFECHAMENTO >= DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()) -1,0 ) AND NOT A.DATAFECHAMENTO >= DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()) -0,0 ) AND A.TIPO NOT IN (2,3) ) TABELA_ARMAZENAGEM WHERE 1=1
+
Eu não domino o UNION, veja se dessa forma vai apresentar uma soma correta
04/08/2019
Kleber Santos
Do jeito que estou fazendo ele retorna o valor só que em duas linhas.
SELECT SUM( A.VALORTOTAL )
FROM CO_CONTRATOFATURAMENTO A
WHERE A.DATA >= DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()) -1,0 )
AND NOT A.DATA >= DATEADD(MONTH,DATEDIFF(MONTH,0,GETDATE())+1,0)
AND NOT A.STATUS = 6
UNION
SELECT SUM( A.VALORTOTAL )
FROM FT_ARMAZENAGEM A
WHERE A.DATAFECHAMENTO >= DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()) -1,0 )
AND NOT A.DATAFECHAMENTO >= DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()) -0,0 )
AND A.TIPO NOT IN (2,3)
Alguém pode me ajudar?
Tente também adicionar um GROUP BY no final desses UNION
04/08/2019
Gérson
Do jeito que estou fazendo ele retorna o valor só que em duas linhas.
SELECT SUM( A.VALORTOTAL )
FROM CO_CONTRATOFATURAMENTO A
WHERE A.DATA >= DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()) -1,0 )
AND NOT A.DATA >= DATEADD(MONTH,DATEDIFF(MONTH,0,GETDATE())+1,0)
AND NOT A.STATUS = 6
UNION
SELECT SUM( A.VALORTOTAL )
FROM FT_ARMAZENAGEM A
WHERE A.DATAFECHAMENTO >= DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()) -1,0 )
AND NOT A.DATAFECHAMENTO >= DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()) -0,0 )
AND A.TIPO NOT IN (2,3)
Alguém pode me ajudar?
Tem como descrever melhor
Onde esta buscando os dados?
Como espera o resultado na saída?
Para que possa ficar mais claro, de como lhe ajudar.
05/08/2019
Isaque
Do jeito que estou fazendo ele retorna o valor só que em duas linhas.
SELECT SUM( A.VALORTOTAL )
FROM CO_CONTRATOFATURAMENTO A
WHERE A.DATA >= DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()) -1,0 )
AND NOT A.DATA >= DATEADD(MONTH,DATEDIFF(MONTH,0,GETDATE())+1,0)
AND NOT A.STATUS = 6
UNION
SELECT SUM( A.VALORTOTAL )
FROM FT_ARMAZENAGEM A
WHERE A.DATAFECHAMENTO >= DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()) -1,0 )
AND NOT A.DATAFECHAMENTO >= DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()) -0,0 )
AND A.TIPO NOT IN (2,3)
Alguém pode me ajudar?
SELECT (TABELA_CONTRATO.SOMACONTRATO (troque por sinal de mais) TABELA_ARMAZENAGEM.SOMAARMAZENAGEM) AS TOTAL FROM ( SELECT SUM( A.VALORTOTAL ) AS SOMACONTRATO FROM CO_CONTRATOFATURAMENTO A WHERE A.DATA >= DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()) -1,0 ) AND NOT A.DATA >= DATEADD(MONTH,DATEDIFF(MONTH,0,GETDATE())+1,0) AND NOT A.STATUS = 6 ) TABELA_CONTRATO, (SELECT SUM( A.VALORTOTAL ) AS SOMAARMAZENAGEM FROM FT_ARMAZENAGEM A WHERE A.DATAFECHAMENTO >= DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()) -1,0 ) AND NOT A.DATAFECHAMENTO >= DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()) -0,0 ) AND A.TIPO NOT IN (2,3) ) TABELA_ARMAZENAGEM WHERE 1=1
+
Eu não domino o UNION, veja se dessa forma vai apresentar uma soma correta
Testei e funcionou corretamente, ele retornou com a soma das duas tabelas em apenas uma linha, Muito obrigado!
05/08/2019
Isaque
SELECT SUM(TOTAL) TOTALGERAL FROM ( SELECT SUM(VALORTOTAL) TOTAL FROM CO_CONTRATOFATURAMENTO WHERE DATA >= DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE())-1,0 ) AND NOT DATA >= DATEADD(MONTH,DATEDIFF(MONTH,0,GETDATE())+1,0) AND NOT STATUS = 6 UNION ALL SELECT SUM(VALORTOTAL) FROM FT_ARMAZENAGEM WHERE DATAFECHAMENTO >= DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()) -1,0 ) AND NOT DATAFECHAMENTO >= DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()) -0,0 ) AND TIPO NOT IN (2,3) ) TAB
Muito obrigado, funcionou corretamente.
Clique aqui para fazer login e interagir na Comunidade :)