2012-02-23 14 views
0

になステートメントとMySQLが私にこのエラー与えた場合:複数の入れ子になった私は、以下のクエリをしようとしているMySQLのクエリ

SELECT C.`some_name`, 
     SUM(IF(A.`med_type` = 1, SUM(A.`med_qty`), 0)) AS total, 
     SUM(IF(A.`is_rejected` = 4, 1 , 0)) AS approved, 
     SUM(IF(A.`is_rejected` = 2, 1 , 0)) AS qeue, 
     SUM(IF(A.`is_rejected` = 3, 1 , 0)) AS rejected, 
     SUM(IF(A.`is_rejected` = 1, 1 , 0)) AS fresh 
    FROM `ne_media` A 
    INNER JOIN `ne_member` B ON A.`mem_id` = B.`mem_id` 
    INNER JOIN `ne_some` C ON B.`some_id` = C.`some_id` 
    GROUP BY C.`some_id`; 

私はmed_qtyちょうどmed_type = 1場合を合計するグループ機能の無効な使用を。

どうすればよいですか?

答えて

1

用途:

SUM(CASE WHEN (A.`med_type` = 1) THEN A.`med_qty` ELSE 0 END)) AS total, 

か:

SUM(IF(A.`med_type` = 1, A.`med_qty`, 0)) AS total, 

あなたが元でしようとしたようにあなたは集計に集計を行うことはできません。

+0

戦車それは動作しますが、実際には私はmed_qtyの内容の合計が必要です。それらの数は返されません。 ! – mehdi

+0

あなたが他の式のように1または0を合計した場合、それらを数えますが、 'med_type'が1のときに' med_qty'の値を合計すると、あなたが求めたものが得られます。 –

関連する問題