如何在SQL中使用另一个表中的产品价格获取发票的总金额

  • 本文关键字:获取 金额 SQL 另一个 mysql sql
  • 更新时间 :
  • 英文 :


我有几个SQL表:

  1. 包含客户代码、地址的客户表
  2. 包含产品代码、名称和价格的产品表
  3. 包含发票代码、客户代码的发票表
  4. 包含发票代码、行号、产品代码和产品数量的发票行

我试图通过发票行表中的发票代码获得发票的总金额,但由于某些产品有多个数量,因此无法准确地通过。

首先,我认为我可以将产品的每个数量作为单独的条目,而不是将数量部分放在表中,并使用select sum。从长远来看,这并不可行,肯定有更好的方法。

我会这样写:

SELECT SUM(li.Quantity_Col * p.Price_Col) AS 'Invoice Total'
FROM InvoiceLines li
INNER JOIN Products p ON li.ProductCode = p.Code
WHERE li.InvoiceId = 'sample_value'

地点:

  1. Quantity_Col是发票行表中存储每行项目数量的列名,
  2. Price_Col是发票行表
  3. 中列的名称。
  4. InvoiceLines是您存储发票行的表
  5. Products是存储产品数据的表
  6. ProductCode是到产品表
  7. 的发票行表中的FK
  8. Code为产品表
  9. 中产品的代码
  10. InvoiceId是作为发票表
  11. 的FK的列的名称。
  12. sample_value是发票id的占位符,之后您想获得总价。
  13. li是发票行表的缩写,我喜欢使用缩写而不是键入整个表名。p也一样,它代表产品表

希望这对你有所帮助。如果您需要其他帮助(例如,将其转换为参数化函数),我将更新我的答案。

相关内容

  • 没有找到相关文章

最新更新