我有关于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时,我仍然得到相同的结果。
答案 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