我有一个表格列出发票,我们将该年度的发票分组为以下内容
SELECT
sum(totalValue/((100 + Vat)/100)) AS purchases ,
year(invoice_date) AS invoiceyear
FROM invoices
GROUP BY year(invoice_date)
ORDER BY invoiceyear Desc;
我们还有一个发票表列表,其中包含供应商列表中SupplierID的链接,产品表还包括到supplierID的链接列表
我需要对天气进行分组,或者不是发票是否有库存订单,所以我需要分组一个事实,即是否有匹配的供应商ID的产品
这是我陷入困境的时候,当我运行连接时,如果supplierID字段为null或不为null,那么我将如何分组?
还有一些发票适用于多种产品,我如何确保我不在发票表中创建多个记录?
1 回答
假设您的SupplierID列名为
SupplierID
并且每个表都有一个id
列,这里是一个答案:说明:为此,您需要在产品表上保留联接,按发票ID进行分组 . 如果有匹配的产品,产品ID的计数将返回0或> 0 .
我们将它放在一个子查询中,因为我们不希望产品数量与外部分组混合,如果在某些情况下每个发票有超过1个产品,这会导致数学问题(即有很多产品包含相同的供应商ID) .