mysql不同的制造商,其他2列的数量和值的总和

时间:2014-03-03 14:26:31

标签: php mysql

下午,

我在mysql中有几个表 第一个保存票证信息和票证状态 第二个包含每个项目的项目和成本。

每个故障单可以有多个项目存储在项目表中。

示例表1

Ticket id    Manufacturer    status
 102           man-A           10
 103           man-A           20
 104           man-A           10
 105           man-C           10
 106           man-B           20

示例表2

Ticket id     Item           Price
 102           item_a         100.00
 103           item_a         100.00
 103           item_b         110.00
 103           item_c         115.00
 104           item_c         115.00
 105           item_b         110.00
 106           item_a         100.00
 106           item_c         115.00

现在在我需要显示的快速统计页面上。

 Manufacturer      Qty(status 10)  Qty(status 20)   Value
  man-A             2                1               530.00
  man-B             0                1               225.00
  man-C             1                0               110.00

如果没有状态为10或状态为20的故障单,则无需显示该制造商。

我想做1个mysql请求来获取我需要显示的统计数据。

非常感谢

1 个答案:

答案 0 :(得分:2)

尝试使用加入并使用SUM()

SELECT 
t1.Manufacturer,
SUM(t1.status =10) `Qty(status 10)`,
SUM(t1.status =20) `Qty(status 20)`,
SUM(t2.price) `Value`
FROM table1 t1
JOIN table2 t2 ON (t1.`Ticket id` =t1.`Ticket id`)
GROUP BY t1.Manufacturer 

Fiddle Demo