我有这些表
订单
- 订单_id
- order_article_id
- 订单_语音_id
- 订单_客户id
- 订单_数量
文章
- 文章id
- 文章名称
- 文章_数量
- 文章_价格
- 文章_装载
客户
- 客户id
- 客户名称
- 客户位置
- 客户办公室
发票
- invoices_id
- 日期
- invoice_customer_id
和SQL联接表
$sql="SELECT customer_name, article_name, orders_id, article_price, order_qty, invoices_id FROM orders LEFT JOIN articles ON order_article_id = articles_id
LEFT JOIN invoices ON order_invoice_id = invoices_id
LEFT JOIN customers on order_customer_id = customers_id";
从这个查询中,我需要得到的是这个结果示例
- 发票_ID
- CUSTOMER_NAME
- 该发票的AMOUNT=order_qty*article_price
有可能在MySQL中做到这一点吗?或者我需要一些额外的PHP代码?
您想要一个聚合查询:
SELECT c.customer_name, i.invoices_id,
sum(order_qty * a.article_price) as amount
FROM orders o LEFT JOIN
articles a
ON o.order_article_id = a.articles_id LEFT JOIN
invoices i
ON o.order_invoice_id = i.invoices_id LEFT JOIN
customers c
on o.order_customer_id = c.customers_id
GROUP BY c.customer_name, i.invoice_id;
请注意,我添加了表别名,以便更好地指定列的来源。这使查询更易于理解。