Saya sedang membuat kueri untuk laporan dengan beberapa kondisi IF pada SUM. Saya mengalami masalah dengan beberapa kondisi IF pada SUM.
Berikut adalah kueri:
SELECT SUM(`totalamount`) AS Total,
SUM(`PayPalFee`) AS Fees,
DATE(`TransactionDate`) AS `Day`,
SUM(IF(PaymentType = "paypal", 1,0)) AS Paypal,
SUM(IF(PaymentType = "check", 1,0)) AS Checks,
SUM(IF(PaymentType = "credit card", 1,0)) AS CreditCard,
COUNT(*) AS Entries
FROM my_table
WHERE TransactionDate between '2011-05-05' AND '2012-01-30'
GROUP BY day
ORDER BY `day` ASC
Kueri ini berfungsi dengan baik.
Ketika saya mencoba menambahkan pernyataan SUM bersyarat di bawah ini:
SUM('TotalAmount'(PaymentType = "credit card", 1,0)) AS CreditCardTotal,
Pernyataan IF bersyarat ini gagal.
Saya memiliki kolom yang disebut ' TotalAmount ' dan kolom yang disebut ' Jenis Pembayaran ' Saya ingin membuat SUM dari transaksi kartu kredit setiap hari, SUM dari transaksi cek setiap hari, SUM dari transaksi paypal setiap hari,. Saya telah mencoba membuat subquery tetapi ini mengembalikan nilai untuk seluruh kolom TotalJumlah, tidak dipecah berdasarkan hari.