【问题标题】:Total the value of customer orders 1客户订单总价值 1
【发布时间】:2018-06-12 12:34:28
【问题描述】:

我无法使用 SUM 命令。代码在正确的路径上,但是,我需要它在一行中显示ValorPedido (OrderPrice) 之和的结果。

  SELECT Cliente.CdCliente
        , Cliente.Nome
        , ValorPedido

FROM Cliente

INNER JOIN Pedido ON Cliente.CdCliente = Pedido.CdCliente

WHERE (Cliente.CdCliente = 1)

【问题讨论】:

    标签: sql sql-server sql-server-2014


    【解决方案1】:

    使用 SUM 命令时,您应该只选择 1 个字段或使用 按语句分组

    SELECT SUM(ValorPedido) FROM Cliente 
    INNER JOIN Pedido ON Cliente.CdCliente = Pedido.CdCliente
    WHERE (Cliente.CdCliente = 1)
    

    或选项 2

    SELECT SUM(ValorPedido), Cliente.CdCliente, Cliente.Nome FROM Cliente 
    INNER JOIN Pedido ON Cliente.CdCliente = Pedido.CdCliente
    WHERE (Cliente.CdCliente = 1)
    Group by Cliente.CdCliente, Cliente.Nome
    

    希望对你有帮助

    【讨论】:

    • 谢谢!但我很幸运……然而,你的代码太棒了!这里:select Cliente.cdcliente, cliente.Nome, sum(valorpedido) as ValorPedido from pedido, cliente where pedido.cdcliente = 1 and cliente.cdcliente = 1 group by cliente.cdcliente, cliente.nome
    【解决方案2】:

    对于单行,您只能将SUM() 与GROUP BY 子句一起使用:

    SELECT c.CdCliente, c.Nome, SUM(p.ValorPedido) AS Sums
    FROM Cliente c INNER JOIN 
         Pedido p 
         ON c.CdCliente = p.CdCliente
    WHERE c.CdCliente = 1
    GROUP BY c.CdCliente, c.Nome 
    

    注意:使用 table alise 会更容易读写。

    【讨论】:

    • 嗨。你好!但我很幸运……然而,你的代码太棒了!这里:select Cliente.cdcliente, cliente.Nome, sum(valorpedido) as ValorPedido from pedido, cliente where pedido.cdcliente = 1 and cliente.cdcliente = 1 group by cliente.cdcliente, cliente.nome
    猜你喜欢
    • 2013-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多