我有一个SUPER简单查询。没有加入,什么都没有。不过出于某种原因,我的总和翻了一番。查询很简单:即使只有一行数据,SQL SUM也会加倍
SELECT SUM(ORDER_AMT) AS Total
FROM ORDERS
WHERE CUSTOMER = '123'
GROUP BY CUSTOMER.
我希望看到1000(ORDER_AMT为这个客户是1000和他们只有在Orders表中的一个记录),但我得到2000。如果我这样做:
SELECT * FROM ORDER WHERE CUSTOMER = '123'
我只得到数据的单一行和ORDER_AMT值是1000(我正在寻找一个和唯一的原因是,这是一个存储过程和其他客户的部分可能有多个订单,所以我真的想为他们的总和)。
有没有人遇到过这个?
是订单和订单两个不同的表?或者是一个错字? –
'ORDER_AMT'的数据类型是什么? – str
正如@KarthikGanesan指出的那样 - 如果没有拼写错误,那么您很可能在数据库中拥有此表的两个不同副本 - 或该名称的DataView。 – RuDevel