2017-08-03 24 views
0

いくつかの条件に従ってテーブル内のいくつかのqunatitiesの要約を作成するクエリがあります。複数の条件を持つSUM IF

これは私のクエリがどのように見えるかです:

SELECT products.code AS Code, products.IDCustomer, 
SUM(IF(production.progress <> 7, (production.QTY),0)) AS TotQTY, 
production.Code, production.IDCustomer, production.Progress, 
production.MainIDProduction, production.KITDate 
FROM products 
LEFT JOIN production ON products.Code = production.Code 
WHERE products.Active = 1 AND products.IDCustomer = 8 
GROUP BY production.Code, products.Code 

7.今、私は進歩7を持った製品をexecludeするクエリを変更する必要があることを別の進歩した製品の数量ofall合計を作るために要約のための基準があります11.

これには何が最適ですか?

+1

ちょうどあなたのIF – RealCheeseLord

+0

あなたにORを入れますif()関数内で同じ論理演算子を使用できます。 – Shadow

答えて

1

あなたはWHERE句でNOT IN条件を追加してSUMを計算し、例えばことができます。

SELECT products.code AS Code, products.IDCustomer, 
SUM(production.QTY) AS TotQTY, 
production.Code, production.IDCustomer, production.Progress, 
production.MainIDProduction, production.KITDate 
FROM products 
LEFT JOIN production ON products.Code = production.Code 
WHERE products.Active = 1 AND products.IDCustomer = 8 
AND production.progress NOT IN (7, 11) 
GROUP BY production.Code, products.Code 
1

だけで挿入する必要がある 'and' 条件

SELECT products.code AS Code, products.IDCustomer, 
    SUM(IF(production.progress <> 7 and production.progress <> 11, (production.QTY),0)) AS TotQTY, 
    production.Code, production.IDCustomer, production.Progress, 
    production.MainIDProduction, production.KITDate 
    FROM products 
    LEFT JOIN production ON products.Code = production.Code 
    WHERE products.Active = 1 AND products.IDCustomer = 8 
    GROUP BY production.Code, products.Code 
関連する問題