2016-04-03 20 views
0
SELECT u.user_id, u.website, u.phone, SUM(r.redeem_amount) , SUM(r.redeem_paid) 
FROM users u 
LEFT JOIN redeemed r ON u.user_id = r.redeem_user_id 
WHERE r.redeem_state = '0' 
GROUP BY u.website 

masaya her web sitesi karşı kurtarmak gelen miktarını kurtarmak ait SUM seçmek için yapmanız, olduğu çalıştığım, her web sitesiMySQL bir tablo birleştirilir seçme SUM

tabloyu kurtarmak gelen bu kadar toplam (SUM) seçilmelidir

Sağlanan sorgu, her web sitesini seçebilir, ancak bu web sitesinin toplamından yalnızca tek bir satır seçilmesinden dolayı, tabloyu SUM seçmek için kullanamaz.

Yardımınızı alabilir miyim ya da bir şeylerin yanlış gittiğine ve bunun nasıl iyileştirilebileceğine işaret edebilir miyim? Bazılarının bunu basit bir şekilde ödeyebileceğinizi biliyorum, ancak hile MySQL'de fazla gelişmiş olmadığından emin olamıyorum.

http://sqlfiddle.com/#!9/9eecb7d

+0

Eğer 'u' veya açıklama' r' ile seçme maddede her bir sütuna önüne miyim? (veya daha iyi bir sqlfiddle sağlar) –

+0

Grup Ne ile !! w ??? –

+1

@abu Üzgünüm yanlış tuşa bastığım zaman W – FetchLazy

cevap

0

Eh, aşağıda kullanmayı deneyin:

SUM ( r.redeem_paid), u.website, u.phone SUM (r.redeem_amount) u.user_id SEÇ kullanıcılar GELEN u SOL u.user_id = r.redeem_user_id NEREDE r.redeem_state = '0' GRUBU TARAFINDAN r.redeem_user_id

Redeem Table

AÇIK r itfa JOIN

Users Table

Results

+0

Stil benim sorgu ile aynı olsun – FetchLazy

+0

Onun Right @FetchLazy ve yukarıdaki sorgulama da, On Navicat üzerinde test, senin durum kontrol .redeem_state = '0' –

+0

Sonuçları görmek mümkün mü? – FetchLazy