SQL Sorgu ve Stored Procedure
Tablo yapım;
Payment_ID | Payment_Parent | Payment_Amount | Payment_Method | Payment_Status |
---|---|---|---|---|
1 | 1 | 600.00 | N | 1 |
2 | 2 | 400.00 | K | 1 |
SQL Sorgum;
SELECT
Payment_Parent,
Payment_Method,
COUNT(*) as Payment_Count,
SUM(Payment_Amount) as Payment_SUM
FROM payment_payment
WHERE Payment_Status = '1'
GROUP BY Payment_Parent
ORDER BY Payment_Parent ASC
Örnek Çıktı;
Payment_Parent | Payment_Method | Payment_Count | Payment_SUM |
---|---|---|---|
1 | N | 62 | 45400.00 |
Mümkünmü bilmiyorum, yapılabilirse çıktının aşağıdaki gibi olmasını istiyorum;
Payment_Parent | Payment_Method | Payment_Count | Payment_SUM_N | Payment_SUM_K |
---|---|---|---|---|
1 | N | 62 | 25000.00 | 20400.00 |
Tabi birde konu ile pekde alakalı değil ancak yeri gelmişken sormak istedim. Bu sorguyu Stored Procedure ile kullanıyorum. PHP dosyasındaki normal sorgu ile Stored Procedure arasında bir performans farkı varmı. Ben pek bir fark göremedim.
Sum kısmını aşağıdaki mantıkta yazıp dener misin? yalnız kontrol et hatalı yazmış olabilirim.
sum case yapısı kullanılacak sanırım. doğru olmadıysa ona göre arama yap doğru uygulamayı bulursun sanırım.
SUM(CASE
WHEN payment_method == 'N' THEN payment_amount
ELSE 0 END) AS payment_sum_N,
SUM (CASE
WHEN payment_method == 'K' THEN payment_amount
ELSE 0
END) AS payment_sum_K