使用:SQL Server 2008 R2的SUM函数对于2个表可生产错误值
在计算总的百分比,上运行两个不同的表汇总查询(SUM)时,我遇到麻烦了。单独地,它产生正确的量;当查询包含两者时,它会产生一个巨大的值,我无法确定它来自哪里。代码以及我正在运行的用于生成第二个表的代码。
SELECT TOP 100 Field
INTO TableTwo
FROM TableOne
SELECT SUM(t1.Field), SUM(t2.Field)
FROM TableOne t1, TableTwo t2
TableTwo
是从TableOne
百分之十(它可以在上面的查询的第一部分看到的)的。需要注意的是个别,这些产生正确的价值观:
SELECT SUM(t1.Field)
FROM TableOne t1
SELECT SUM(t2.Field)
FROM TableTwo t2
不SQL服务器上面的汇总查询,或者我失去了一些东西明显在这里吗?
'FROM TableOne T1,TableTwo t2'是[交叉连接(http://en.wikipedia.org/wiki/Join_(SQL )#Cross_join);它不会做你认为的事情! – Blorgbeard 2013-03-27 00:23:34