在SQL

时间:2018-02-17 00:28:34

标签: mysql sql sum

英文翻译:

我有一个订单状态表,我想添加只有挂起状态的订单的价值。有些已经等待和批准,我想只添加那些具有待定状态的那些。我附上了一个示例图片,但我在数据库中的表有更多的记录。

我想要的是:只添加具有“待处理”状态的请求。如果应用程序已经挂起并且现在已经“已批准”则不会添加其“待处理”

enter image description here

屏幕截图中的翻译:“仅添加仅具有待处理状态的那些(蓝线)”

原创 - 葡萄牙语?

Tenho uma tabela de status dos pedidos,eu gostaria de somar o valor dos pedidos que somente tem o status pendente。 Uns tem pendente e aprovado,eu gostaria de somar somente os que tem status pendente。 Anexei uma imagem de exemplo,mas a minha tabela no banco tem muito mais registros que isso。

O que euqueroéoseguinte:somar somente pedidos que tem status“pendente”。 Se opedidojátevependente e agora tem“aprovado”nãoéparasomar o“pendente”deles

1 个答案:

答案 0 :(得分:0)

这样的东西?

SELECT SUM(Valor) FROM yourtablename WHERE Status = 'Pendente'

编辑:

抱歉,我还没有正确看到你的例子。

-- Option 1:
SELECT SUM(Valor)
    FROM yourtablename
    WHERE Status = 'Pendente'
    AND idPedido IN (
        SELECT idPedido
            FROM yourtablename
            GROUP BY idPedido
            HAVING COUNT(1) = 1
        );

-- Option 2:
SELECT SUM(Valor)
    FROM yourtablename
    WHERE Status = 'Pendente'
    AND idPedido NOT IN (
        SELECT idPedido
            FROM yourtablename
            WHERE Status <> 'Pendente'
        )