ms sql查询POS项目销售

时间:2012-11-18 03:07:23

标签: sql

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

当我执行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使用SAME字段名来记录信息(ItemCount,ItemAmount)

我希望我能够很好地解释这一点。当我使用GROUP BY时,我仍然得到相同的结果。

1 个答案:

答案 0 :(得分:1)

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

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

只有

,两个SUM函数不应该有任何问题
SELECT SUM(ItemCount), SUM(ItemAmount) FROM Totals WHERE TtlType IN (11,12) 
AND Date = 8/1/2012