将项目价格相加以获得总计

Posted

技术标签:

【中文标题】将项目价格相加以获得总计【英文标题】:Adding up item prices to get total 【发布时间】:2008-10-23 16:58:39 【问题描述】:

我已经开始创建一个数据库,并且我有一个“订购商品”和一个“发票”表。我想知道如何将客户挑选的商品的价格相加。以及您将这个“规则”放在数据库的什么位置。

【问题讨论】:

添加一些细节会大有帮助。你需要在哪里总结?你打算如何显示这个总和?您是否将总和值存储在某处? 【参考方案1】:

您需要 SQL“Sum()”函数。例如,看here。

【讨论】:

【参考方案2】:

我必须做出很多假设(最大的假设是您使用的是 MS SQL),因为您的帖子缺乏细节,但我会尝试一下。如果此设置未关闭,请发布表格创建和一些示例数据供我们使用。这对我们有很大帮助。

declare @Item table (ItemId int, ItemDesc varchar(50), Price money)
declare @Invoice table (InvoiceId int, CustomerName varchar(50), ShipDate datetime)
declare @OrderedItem table (InvoiceId int, ItemId int, Quantity int)


insert into @Item
    select 1, 'Hat', '10.99' union
    select 2, 'Shirt', '12.50' union
    select 3, 'Belt', '5.99'

insert into @Invoice
    select 1, 'Nathan', '01-01-2009'

insert into @OrderedItem
    select 1, 1, 2 union    -- 2 hats
    select 1, 2, 3          -- 3 shirts


select  i.InvoiceId,
        sum(Quantity) [TotalItems],
        sum(Price * Quantity) [TotalPrice]
from    @Invoice i
inner
join    @OrderedItem oi on
        i.InvoiceId = oi.InvoiceId
inner
join    @Item it on
        oi.ItemId = it.ItemId
group
by      i.InvoiceId

【讨论】:

【参考方案3】:

您会在每个 Access 版本附带的 Northwind 示例数据库中找到很多有用的示例,它也可以是 downloaded from here。我想你会找到订单、销售分析表和特定兴趣的发票报告。

【讨论】:

【参考方案4】:

基本上,您会进行查询并使用该查询的结果填充发票表。正如 Coderer 所说,使用 sum() 函数。如果您使用图形查询编辑器,则需要启用总计(查看->总计),然后将总计类型设置为“Sum”而不是默认的“Group By”

【讨论】:

【参考方案5】:

如果您使用的是 MS Access,则 SUM 函数通常用作显示字段之一的报告的一部分。

【讨论】:

【参考方案6】:

SQL 这种语言只有一种数据结构是表。因此,您可以将用户选择的商品放入一个表中,然后从该表连接到包含价格的表,然后使用集合函数 SUM() 获取总价格。听起来您对 SQL 语言不太熟悉,如果您确实在使用 MS Access,那么它有向导可以提供帮助:它将这种构造称为“总计查询”。

【讨论】:

以上是关于将项目价格相加以获得总计的主要内容,如果未能解决你的问题,请参考以下文章

如何获得动态创建的行的总价格?

计算所有项目总计到小计 Jquery

本地存储更新车总计

如何从所有选择选项中获取总数据价格(总计每个选择)

在SQL中,如何将两列的数据相乘以获得第三列

它应该继续接受一个项目的价格并在用户输入不等于零时显示当前总价