0

我有下表:

Order    Product    Price  Quantity Description  
Order1   Product1   12      1       Text  
Order1   Product2   15      2       Text  
Order1   Product3   32      1       Text  
Order2   Product1   25      2       Text  
Order2   Product4   65      3       Text 

我需要显示订单 1 的详细信息(产品、价格、数量、描述),以及该订单的总价值。有什么简单的方法可以做到这一点?

4

2 回答 2

3

由于Order是 SQL 关键字,因此您需要根据您的数据库对其进行引用。

例如,对于 SQL Server:

select m.*, ms.TotalValue
from MyTable m
inner join (
    select [Order], sum(Price * Quantity) as TotalValue
    from MyTable
    group by [Order]
) ms on m.[Order] = ms.[Order]

SQL 小提琴示例

于 2012-07-02T15:59:31.700 回答
0

假设总价值 = 总和(价格 * 数量),则:

select t.[Order],
       t.Product,
       t.Price,
       t.Quantity,
       t.Description,
       aux.Total
from tablename t
inner join (
      select [Order],
             SUM(Price * Quantity) as 'Total'
      from tablename
      group by [Order]
) aux on t.[Order] = aux.[Order]

如果你想要每一行的总数,你可以这样做:

select t.[Order],
       t.Product,
       t.Price,
       t.Quantity,
       t.Description,
       t.Price * t.Quantity as 'Total'
from tablename t
于 2012-07-02T16:01:20.303 回答