2016-08-08 8 views
1

私はいくつかの列でdelitemsと呼ばれるテーブルを持っている。グループの連合mysqlステートメント

+-------------------------------+-------+--------+--------+-----+ 
| COLOR       | tOTAL | Ptotal | Amount | qty | 
+-------------------------------+-------+--------+--------+-----+ 
| BLUE - W = 55,BLUE - W/O = 93 | 148 | 375 | 55500 | 2 | 
+-------------------------------+-------+--------+--------+-----+ 
mysql>select GROUP_CONCAT(color,' = ',qty) as COLOR, SUM(qTY) AS tOTAL, suM(p_cost) as Ptotal, SUM(qty)*SUM(p_cost) as Amount,count(*) qty from delitems where status='3' Group By cont_no; 

すべてがAmount列を除いて正常に動作します:私はGROUP_CONCATを使用したい私のSELECT声明の中で

。総額は間違っています!ここでは正しい値:

+-----------------+-------+--------+--------+-----+ 
| COLOR   | tOTAL | Ptotal | Amount | qty | 
+-----------------+-------+--------+--------+-----+ 
| BLUE - W = 55 | 55 | 125 | 6875 | 1 | 
| BLUE - W/O = 93 | 93 | 250 | 23250 | 1 | 
+-----------------+-------+--------+--------+-----+ 
mysql>select GROUP_CONCAT(color,' = ',qty) as COLOR, SUM(qTY) AS tOTAL, suM(p_cost) as Ptotal, SUM(qty)*SUM(p_cost) as Amount,count(*) qty from delitems where status='3' Group By color; 

私は助けてください

正しい合計額と1行で表示します。

+0

(A)*合計を合計べきではないでしょうか。サンプルデータを表示できますか? –

+0

こんにちは!!最初のクエリの合計金額は、2番目のクエリのグループ連結の合計とPtotalの合計です。それぞれBLUE -W qtyのような合計があります。55 * 125とB:UE - W/O qtyは93 * 250です...必要なのは、各値の合計金額を1行に表示することだけです。 – Psd

答えて

1

あなたは合計(* B)を必要とする問題であり、どのような(B)

select 
    GROUP_CONCAT(color,' = ',qty) as COLOR 
, SUM(qTY) AS tOTAL 
, suM(p_cost) as Ptotal 
, SUM(qty*(p_cost) as Amount, count(*) qty 
from delitems 
where status='3' Group By cont_no; 
+0

うわーそれは素晴らしいです...あなたは私の問題を解決しました... 2つの親指の上に!... – Psd

+0

私はもっと問題の先生...私はそれを投稿します。 – Psd

+0

新しい問題を投稿したとき@Psdはリンクにコメントします.. – scaisEdge

関連する問題