SQL - 内连接和产品

时间:2016-06-06 18:25:42

标签: php mysql sql zend-framework

我有2张桌子"发票"和" invoice_product"。

在第一个表格中,我有一些列(例如,id,invoice_date,buyer_name,total_price ...) 我在第二个表中有产品与买家发票(id,invoice_id,product_id,product_price,product_unit,amout)相关联。 同一产品可以有不同的单位(例如橙色 - 卖袋和重量) 现在我想展示一些像这样的东西

输入数据ivnoive_product:

Product | unit | price | buyer  | invoice_id
Orange  | 1kg  | 5.50$ | Alfred | 55
Orange  | 2bags| 25$   | Alfred | 79
Orange  | 1kg  | 5.50$ | Sam    | 16
Banana  | 2kg  | 2.50$ | Alfred | 55 

a)总结客户价格 结果显示表与客户端总和:

Buyer | Sum price  | 
Alfred| 33$        | (include orange and banana)
Sam   | 5.50$      | 

a2)我如何选择我在哪里(带有id_product ==橙色产品) ...其中id_product = 5

Buyer  | Sum price
Alfred | 30.5$ (without banana price)
b)产品价格总和 结果显示:

Product | Units      | Sum price
Orange  | 2kg, 2bags | 36.00$
Banana  | 2kg        | 2.50$

我不希望我的select sql查询重复这样的产品和买家:

Orange | 2kg | 11$
Orange | 2bags | 25$
Banana | 2kg | 2.5$

我想使用分页(Zend框架),在第一页中它只显示查询返回的第一行。 (如果我有重复的产品,那么我在第一页中的行数较少)

1 个答案:

答案 0 :(得分:0)

总结客户价格:

select buyer, sum(price ) 
from invoice_product
group by buyer