2016-03-22 12 views
0
numaralı

numaralı toplantılara katılma 2 tabelam var ve belegpos tablosundan bir sütunun toplamına sahip olmak istiyorum. Bu sorgu ile, artikel yalnızca modell ile bir satır olduğunda, iyi çalışıyor. Aynı modeli ile 2 satır olduğunda bu toplamı x2 alır (veya 3 satır x3 ile)Toplam değerle sorgulama ve

select bp.modell,sum(bp.quantity) 
from belegpos as bp 
join artikel on bp.modell=artikel.modell 
where artikel.status=0 
group by bp.modell ; 

cevap

0

için belirgin yerine ile alt sorgu kullanabilir:

select bp.modell,sum(bp.quantity) 
from belegpos as bp 
join (SELECT distinct a.modell from artikel a where a.status=0) a1 
    on bp.modell=a1.modell 
group by bp.modell ; 
0
select bp.modell,count(bp.quantity) 
from belegpos as bp 
join artikel on bp.modell=artikel.modell 
where artikel.status=0 
group by bp.modell ; 
1

kullanabilirsiniz JOIN yerine bir EXISTS:

SELECT modell, SUM(quantity) 
FROM belegpos AS bp 
WHERE EXISTS (SELECT 1 
       FROM artikel 
       WHERE bp.modell = artikel.modell AND artikel.status=0) 
GROUP BY bp.modell;