Ir para conteúdo

POWERED BY:

Arquivado

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

manobr

Oracle para MySQL

Recommended Posts

Boa tarde, estou precisando fazer algo parecido com isso que consegui em Oracle:

 

WITH minha_tabela

AS (SELECT 1 doc, 'alguma coisa' historico, 5 debito, 0 credito from dual UNION ALL

SELECT 2 doc, 'alguma coisa' historico, 5 debito, 0 credito from dual UNION ALL

SELECT 3 doc, 'alguma coisa' historico, 0 debito, 8 credito from dual UNION ALL

SELECT 4 doc, 'alguma coisa' historico, 0 debito, 15 credito FROM dual)

-- END OF TEST DATA SETUP **** NOW TO THE QUERY WE'RE INTERESTED IN:

SELECT

doc,

historico,

debito,

credito,

Sum(debito - credito) over (order by doc) saldo

FROM

minha_tabela;

 

Este sql gera um saldo para 1ª linha, depois soma com o resultado da 2ª linha para outro saldo e assim por diante.

Mas essa sintaxe é apenas para Oracle, alguém sabe uma forma de fazer em MySQL?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu faria assim:

 

SELECT 1 doc, 'alguma coisa' historico, 5 debito, 0 credito from dual UNION ALL

SELECT 2 doc, 'alguma coisa' historico, 5 debito, 0 credito from dual UNION ALL

SELECT 3 doc, 'alguma coisa' historico, 0 debito, 8 credito from dual UNION ALL

SELECT 4 doc, 'alguma coisa' historico, 0 debito, 15 credito FROM dual

 

SELECT

doc,

historico,

debito,

credito,

Sum(debito - credito) over (order by doc) saldo

FROM (SELECT 1 doc, 'alguma coisa' historico, 5 debito, 0 credito from dual UNION ALL

SELECT 2 doc, 'alguma coisa' historico, 5 debito, 0 credito from dual UNION ALL

SELECT 3 doc, 'alguma coisa' historico, 0 debito, 8 credito from dual UNION ALL

SELECT 4 doc, 'alguma coisa' historico, 0 debito, 15 credito FROM dual)

 

Com subquery. No mysql você também pode trabalhar com union all, mas acho que desse jeito já te ajuda..

Abraços

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.