2016-03-22 9 views
0

2つのテーブルがあり、テーブルbelegposの1つの列の合計が必要です。 このクエリでは、artikelがmodellで1行だけのときにうまくいきます。同じモデルとの2行がある場合 、それは合計×2を取る(または3行×3で)合計と結合によるクエリ

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 ; 

答えて

0

あなたは明確な代わりにサブクエリを使用することもできます。

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

あなたが使用することができますJOINの代わりに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; 
関連する問題