繁体   English   中英

如何聚合一列位?

[英]How can I aggregate a column of bits?

我有这个查询:

SELECT 
    MAX(P.Descricao) AS Name,  
    SUM(FC.Credito) AS Sales,
    CAST(CASE
            WHEN FC.Troco = 1 THEN SUM(FC.Debito)
            ELSE 0 
         END AS decimal(10, 2)) AS Purchases
FROM 
    FluxoCaixa FC 
INNER JOIN
    Pagamento P ON FC.ID_Pagamento = P.Pagamento

我收到此错误:

列 'FluxoCaixa.Troco' 在 select 列表中无效,因为它不包含在聚合 function 或 GROUP BY 子句中

我知道返回错误是因为FC.Troco列未聚合,但如何聚合其值为位的列?

CASE-WHEN中,我想SUM(FC.Debito)案例FC.Troco为 1(true)。

我认为你想要条件聚合:

SELECT MAX(P.Descricao) AS Name,  SUM(FC.Credito) AS Sales,
       SUM(CASE WHEN FC.Troco = 1 THEN FC.Debito ELSE 0 END) AS Purchases
FROM FluxoCaixa FC INNER JOIN
     Pagamento P
     ON Fc.ID_Pagamento = P.Pagamento;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM