Подчëт сальдо или как пред - строка

WMix

герр M:)ller
Партнер клуба
Подчëт сальдо или как пред - строка

SELECT
CONCAT('ER-',einkauf.id)) AS ums_beleg,
IF ( rposition.id,(rposition.preis*rposition.anzahl),
CONCAT('',( einkauf.preis*einkauf.anzahl*(-1)),'' ) ) AS ums_betrag,
IF (rposition.id,CONCAT('A',rposition.id),CONCAT('E',einkauf.id)) AS ums_gbeleg
FROM kugellager LEFT JOIN lagerarten ON (kugellager.art=lagerarten.a_id) LEFT JOIN rposition ON (kugellager.nr=rposition.ware_nr) LEFT JOIN rechnung ON (rposition.rechnung=rechnung.r_nr) LEFT JOIN kl_kunde ON (rechnung.kunde_nr=kl_kunde.k_nr) LEFT JOIN einkauf ON (kugellager.nr=einkauf.ware)
GROUP BY ums_gbeleg
HAVING ums_gbeleg LIKE 'A%' OR ums_gbeleg LIKE 'E%'
ORDER BY ums_datum
LIMIT 0,100

получается:

[ШРИФТОМ=courier new] +-----------+------------+ [/ШРИФТОМ]
[ШРИФТОМ=courier new] | ums_beleg | ums_betrag | [/ШРИФТОМ]
[ШРИФТОМ=courier new] +-----------+------------+ [/ШРИФТОМ]
[ШРИФТОМ=courier new] | ER-5 | -4600.00 | [/ШРИФТОМ]
[ШРИФТОМ=courier new] | ER-6 | -2952.00 | [/ШРИФТОМ]
[ШРИФТОМ=courier new] | AR-13 | 48.00 | [/ШРИФТОМ]
[ШРИФТОМ=courier new] | AR-1 | 150.00 | [/ШРИФТОМ]
[ШРИФТОМ=courier new] | AR-1 | 1500.00 | [/ШРИФТОМ]
[ШРИФТОМ=courier new] +-----------+------------+ [/ШРИФТОМ]

Вопрос: мне надо третье поле в котором будет подсчитаться САЛЬДО тоесть разница (с учëтом только предидущей строки)

[ШРИФТОМ=courier new]+-----------+------------+----------+[/ШРИФТОМ]
[ШРИФТОМ=courier new]| ums_beleg | ums_betrag | SALDO |[/ШРИФТОМ]
[ШРИФТОМ=courier new]+-----------+------------+----------+[/ШРИФТОМ]
[ШРИФТОМ=courier new]| ER-5 | -4600.00 | -4600.00 |[/ШРИФТОМ]
[ШРИФТОМ=courier new]| ER-6 | -2952.00 | -7552.00 |[/ШРИФТОМ]
[ШРИФТОМ=courier new]| AR-13 | 48.00 | -7504.00 |[/ШРИФТОМ]
[ШРИФТОМ=courier new]| AR-1 | 150.00 | -7354.00 |[/ШРИФТОМ]
[ШРИФТОМ=courier new]| AR-1 | 1500.00 | -5854.00 |[/ШРИФТОМ]
[ШРИФТОМ=courier new]+-----------+------------+----------+[/ШРИФТОМ]
 

WMix

герр M:)ller
Партнер клуба
Подчëт сальдо или как пред - строка
SELECT
CONCAT('ER-',einkauf.id)) AS ums_beleg,
IF ( rposition.id,(rposition.preis*rposition.anzahl),
CONCAT('',( einkauf.preis*einkauf.anzahl*(-1)),'' ) ) AS ums_betrag,
IF (rposition.id,CONCAT('A',rposition.id),CONCAT('E',einkauf.id)) AS ums_gbeleg
FROM kugellager LEFT JOIN lagerarten ON (kugellager.art=lagerarten.a_id) LEFT JOIN rposition ON (kugellager.nr=rposition.ware_nr) LEFT JOIN rechnung ON (rposition.rechnung=rechnung.r_nr) LEFT JOIN kl_kunde ON (rechnung.kunde_nr=kl_kunde.k_nr) LEFT JOIN einkauf ON (kugellager.nr=einkauf.ware)
GROUP BY ums_gbeleg
HAVING ums_gbeleg LIKE 'A%' OR ums_gbeleg LIKE 'E%'
ORDER BY ums_datum
LIMIT 0,100

получается:

+-----------+------------+
| ums_beleg | ums_betrag |
+-----------+------------+
| ER-5 | -4600.00 |
| ER-6 | -2952.00 |
| AR-13 | 48.00 |
| AR-1 | 150.00 |
| AR-1 | 1500.00 |
+-----------+------------+
Вопрос: мне надо третье поле в котором будет подсчитаться САЛЬДО тоесть разница (с учëтом только предидущей строки)

+-----------+------------+----------+
| ums_beleg | ums_betrag | SALDO |
+-----------+------------+----------+
| ER-5 | -4600.00 | -4600.00 |
| ER-6 | -2952.00 | -7552.00 |
| AR-13 | 48.00 | -7504.00 |
| AR-1 | 150.00 | -7354.00 |
| AR-1 | 1500.00 | -5854.00 |
+-----------+------------+----------+
 

Romantik

TeaM PHPClub
Ты хочешь это в запросе получить?
ИМХО я делал это скриптом. А потом сохранял в базе.
 

Romantik

TeaM PHPClub
Только с подзапросом ( что не возможно в MySQL...пока) или с временной таблицей.
 

WMix

герр M:)ller
Партнер клуба
Poprobuj predlogit' с подзапросом esli w kurse
 
Сверху