*CASE CLOSED*
makasih kepada mastah justhrun telah memberikan solusinya nan tepat
dan juga mastah otheriz yang telah membantu memberikan solusinya...
Quote:
Halo gan, Maaf kalo judulnya berabe... ane ga tau mau buat judul apa gan...
langsung point nya ya gan...
- ane ada kendala nich mau select field tapi ane mau hasil "Amount" action='2' tersebut lebih besar "Amount" action='1'...
jika jumlah sum(amount) itu action='2' dan user='(masing2 user yaitu test1 dan test2)' > sum(amount) actionnya ='1' dan user='(masing2 user yaitu test1 dan test2)'....
untuk tabel databasenya seperti contoh di bawah gan...
*Updated
Thanks agan
justhrun, sudah ane koreksi pertanyaan ane...
* tabel kiri = tabel sekarang...
* tabel kanan = tabel hasil output yang diinginkan
kira2 caranya gimana ya gan?
*SOLVED
makasih kepada mastah
justhrun telah memberikan solusinya nan tepat
dan juga mastah
otheriz yang telah membantu memberikan solusinya...
terimakasih sebesar2nya gan.... ntar cendol meluncur gan...
*Case Closed
Quote:
solusi mastah
justhrun
Quote:
Original Posted By justhrun►PHP Code:
//simple tanpa action:
SELECT user, ( SUM( CASE WHEN action='2' THEN amount ELSE 0 END) - SUM( CASE WHEN action='1' THEN amount ELSE 0 END) ) AS jumlah FROM data1 GROUP BY user;
//ribed bawa action:
SELECT user, action, ( SUM( CASE WHEN action='2' THEN amount ELSE 0 END) - SUM( CASE WHEN action='1' THEN amount ELSE 0 END) ) AS jumlah FROM (
SELECT * FROM data1 ORDER BY action DESC, user
) AS bla GROUP BY user;
untuk mastah
otheriz, boleh di terapkan gan...
Quote:
Original Posted By otheriz►desain table agan kurang yahut...
bagusnya langsung di minusin aja...
misal user pilih action 1 berarti di simpen di database (amount * -1) jadi pas di sum udh otomatis kurangin sama nambahin..
jadi tinggal
Code:
select sum(amount) as totalKeseluruhan
,Sum(Case When amount < 0 then amount else 0 end) totalNilaiNegatifSaja
,Sum(Case When amount > 0 then amount else 0 end) totalNilaiPositifSaja
from transaksi
klo mau tetep pakai desain table agan bisa pakai query..
Code:
select sum(Case When action = 1 then amount * -1 else amount end) as totalKeseluruhan
,Sum(Case When action = 1 then amount else 0 end) totalNilaiNegatifSaja
,Sum(Case When action = 2 then amount else 0 end) totalNilaiPositifSaja
from transaksi