0

我已经改变了观点和其他观点,我已经到了这里。下面举个例子

 Name     | Quantity | Billed |
          |          |        |
 PC Tablet|   0      |  100   |
 PC Tablet|   100    | -2345  |
 Monitor  |   9873   | 0      |
 Keyboard |   200    | -300   |

所以基本上我会选择这个视图。我希望它带入数据,但它首先按名称排序,因此它按字母顺序排列,并且由于一些原因,一些记录出现的次数不止一次(我认为最多的是 4 次)。如果将具有重复项的行加起来,则真正的“数量”和“计费”将是正确的。

注意:实际查询很长,但我将其分解为一个简单的示例来解释问题。这个想法是相同的,但是需要将 A LOT MORE 列添加在一起......所以我正在寻找一个查询,如果它包含相同的名称,它将把它们组合在一起。我尝试了一堆不同的查询,但都没有成功,要么将所有行合并为一个。否则它将不起作用,我得到一堆空错误/名称列在选择列表/分组中无效,因为它不是聚合函数..

这甚至可能吗?

4

1 回答 1

1

尝试:

SELECT A.Name, A.TotalQty, B.TotalBilled
FROM (
 SELECT Name, SUM(Quantity) as TotalQty
 FROM YourTableHere
 GROUP BY Name
 ) A
INNER JOIN
(
 SELECT Name, SUM(Billed) as TotalBilled
 FROM YourTableHere
 GROUP BY Name
) B
ON A.Name = B.Name
于 2013-10-31T14:57:37.420 回答