我正在创建一张发票表,将每个项目分成几年,并使用Toad for Oracle进行查询。在发票上创建数量*价格的适当总和时出现问题
什么我目前做的是使用相同的FROM和WHERE子句作为我的观点(因为这数据来自多个表)
Select DISTINCT
SUM(Credits * Credit_Price) as "Cost", to_char(START_DATE, 'YYYY') as "YEAR",
PERSON_ID, ITEM_TYPE
[...]
WHERE
[...]
to_char(START_DATE, 'YYYY') = '2012'
当我看到在查看费用我会创造我看到适当的人的成本为0,100和0的条目,
但是如果我做SUM/GROUP BY(按item_type,person_id和to_char(START_DATE,'YYYY')分组),我得到一个成本3860700为同一个人!
关于如何解决这个问题的任何想法,所以我得到100而不是3860700?
编辑︰所以基本上我想要一个数量*成本,但总结它,所以我得到该项目类型的总数(而不是对同一项目有多个行)。
如果删除了 “DISTINCT” 你还得到3行:0,100,0?或者你有更多的行? – joelt 2013-03-18 14:15:48
如果我切换到我的视图(这是相同减去SUM/GROUP BY语句),并删除DISTINCT我得到很多(超过2K)行看起来... 如果我从SUM查询中删除差异我仍然当然只是得到一个。 – James 2013-03-18 14:18:18
独特可能是隐藏了一个连接中的错误 - 没有看到您的代码,很难提供帮助。 – 2013-03-18 14:27:33