1

我有一个关于 POS 系统项目销售数据的 SQL 问题。在数据库中,有一个“总计”表。在该表中,包含由“TtlType”字段标识的各种记录。我正在使用两种类型。值 11,即 Item POS Sales,值 12,即 Item Cost Sales。

当我做我的 SQL 查询时,我正在做一些事情

SELECT ItemNumber,
       SUM(ItemCount),
       SUM(ItemAmount)
FROM Totals 
WHERE TtlType = 11 
      AND Date = 8/1/2012

等等

我还想包括 TtlType 12。如何将所有数据合并到一行中?

如果我将 WHERE 更改为包含 TtlType 11 和 12,我会为每个菜单项获得 2 行单独的行。第一个是 TtlType 11,即售价,下一个是 12,即成本。BOTH TtlType 使用相同的字段名称来记录信息(ItemCount,ItemAmount)

我希望我解释得足够好。当我使用 GROUP BY 时,我仍然得到相同的结果。

4

1 回答 1

1

我不确定我是否完全理解您的数据结构,或者 ItemNumber 的重要性。

但是,您不需要 GROUP BY 来进行 SUM,因为您已经知道,但是在 SELECT 和 GROUP BY 中包含 ItemNumber 肯定会导致您有重复的行,因为它将在该列上分组。

你不应该对这两个 SUM 函数有任何问题

SELECT SUM(ItemCount), SUM(ItemAmount) FROM Totals WHERE TtlType IN (11,12) 
AND Date = 8/1/2012
于 2012-11-18T03:16:34.520 回答