Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

leo_SJCampos

Subtração em Select

Recommended Posts

Galera, estou precisando fazer uma subtracao entre dois selects, ou entao no proprio select subtrair dois campos, da mesma tabela, isso é possivel?

 

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim

 

se forem numericos da para fazer direto

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como seria?

 

mais ou menos assim?

 

 

select(

select sum(valor1) from faturamento

-

select sum(valor2) from faturamento)

 

nao tenho nem ideia de como fazer

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se for subtrair dois campos do mesmo registro seria

 

SELECT Campo1 - Campo2 AS Valor FROM TABELA

Compartilhar este post


Link para o post
Compartilhar em outros sites

tentei fazer assim e nao funcionou: select unidade, sum(receita) - sum(despesas) as sub from movimentacao

where month(data) = '$mes'

GROUP by unidade ORDER BY fat desc

 

o que esta errado ai?

Compartilhar este post


Link para o post
Compartilhar em outros sites

ORDER BY fat desc

pra que esse order by se você não está exibindo o FAT?

 

select unidade, (sum(receita) - sum(despesas)) as sub

from movimentacao

where month(data) = '$mes'

group by unidade

qual é o erro que está dando?

Compartilhar este post


Link para o post
Compartilhar em outros sites

esse order by eu ja tirei,, é porque estava em outro select e esqueci de tirar na hora de copiar,, mas o erro que da é esse..

 

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource

Compartilhar este post


Link para o post
Compartilhar em outros sites

leo, a query ta errada. No mysql_query que executa, coloca assim

mysql_query($sql) or die(mysql_error());

 

ai ele vai executar a query, se der erro, ele mostrará na tela.

 

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

tentei assim: SELECT unidade,

 

(SELECT SUM(receita) FROM movimentacao

where month(data) = '$mes') AS E,

(SELECT SUM(despesas) FROM movimentacao where month(data) = '$mes') AS S,

E - S) AS total FROM movimentacao group by unidade

 

só que tambem deu problema....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Um alias não pode ser usado para campo de select , pq os campos do select tem que ser conhecidos antes dos nomes serem dados

 

resumindo, seu select teria que ser +- assim:

SELECT unidade,

(SELECT SUM(receita) FROM movimentacao where month(data) = '$mes') AS E,

(SELECT SUM(despesas) FROM movimentacao where month(data) = '$mes') AS S,

( (SELECT SUM(receita) FROM movimentacao where month(data) = '$mes') - (SELECT SUM(despesas) FROM movimentacao where month(data) = '$mes')

) AS total FROM movimentacao group by unidade

 

 

apesar de que eu tenha quase certeza de que nao eh esse o select que você quer mesmo fazer....

Compartilhar este post


Link para o post
Compartilhar em outros sites

explicando o que relamente quero:

 

Tenho um sistema de caixa simples, em minha tabela contem os seguintes campos

 

id - receitas - despesas - unidades

 

queria em um unico select trazer os valores mensais do caixa de cada unidade.

 

O que eu pensei: fazer um select somando as receitas e somando as despesas e depois subtraindo, agrupando por unidade mais nao ta dando certo, os valores que ele esta trazendo é diferente, pois quando eu faço em selects separados da certo.

 

usei essa sua sugestão mais nao funcionou tbm,

 

SELECT unidade,

(SELECT SUM(receita) FROM movimentacao where month(data) = '$mes') AS E,

(SELECT SUM(despesas) FROM movimentacao where month(data) = '$mes') AS S,

( (SELECT SUM(receita) FROM movimentacao where month(data) = '$mes') - (SELECT SUM(despesas) FROM movimentacao where month(data) = '$mes')

) AS total FROM movimentacao group by unidade

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente assim:

 

select unidade,

sum(receitas) as entradas,

sum(despesas) as saidas,

(sum(receitas) - sum(despesas)) as balanco

from

movimentacao

where

month(data)='$mes'

group by

unidade

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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