0

我想获取由特定参与者出席的特定客户的BalanceAmt 。标准是客户可以购买不止一件商品。每个购买的物品都已单独记录。在某些情况下,“参加者”的值为 NULL。

这是我的查询:

SELECT Customer, AttendedBy, SUM(BalanceAmt) FROM billing GROUP BY Customer 
     HAVING AttendedBy='attender' AND Customer='CustomerName'

我的问题是我得到了“参加者”未参加的汇总值即,包括 NULL 值)。帮我做。。

提前谢谢..

4

3 回答 3

1

我觉得问题没有正确,但我会这样写 SELECT 语句

SELECT Customer, SUM(BalanceAmt) 
FROM billing 
WHERE AttendedBy='attender' AND Customer='CustomerName' 
GROUP BY Customer  

我不确定 AssignedTo 是什么。如果您想要 Customer, AssignedTo 的总和,那么它将是:

SELECT Customer, AssignedTo, SUM(BalanceAmt) 
FROM billing 
WHERE AttendedBy='attender' AND Customer='CustomerName' 
GROUP BY Customer, AssignedTo 
于 2010-07-26T15:03:41.103 回答
0

我认为你需要包含一个where子句来排除你的空值......像下面这样的东西应该可以解决问题:

SELECT Customer, AssignedTo, SUM(BalanceAmt) FROM billing 
WHERE not(BalanceAmt is null) AND AttendedBy='attender' AND Customer='CustomerName'
GROUP BY Customer, AssignedTo

HTH。

于 2010-07-26T15:01:53.697 回答
0
SELECT Customer, SUM(BalanceAmt) 
FROM billing 
WHERE AttendedBy='attender' AND Customer='CustomerName' 
GROUP BY Customer

在您的上述查询group by中不需要,因为您已将列放在where子句中。

您可以从中删除它,也可以将其select删除group by

你可以写这样的东西,以获得客户明智的总和。

SELECT Customer, SUM(BalanceAmt) 
FROM billing 
WHERE AttendedBy='attender'
GROUP BY Customer;
于 2012-10-08T19:24:14.737 回答