**************************************************************
SELECT t1.pk_t1,
t1.pk_t,
max(t2.vdef1) AS ncsettlename,
t1.notaxsum , t1.taxsum,
SUM(t1.notaxsum + t1.taxsum) AS notaxsum,
SUM(t2.settlemoney) AS settlemoney
FROM t1
LEFT JOIN t2 ON t1.pk_t1 = t2.pk_t1
WHERE t1.billdate = '2007-05-15'
GROUP BY
t1.pk_t1, t1.pk_t,
t1.notaxsum ,t1.taxsum
**************************************************************
sql语句如上.下面是三种测试数据,返回值却是三种.想破头了....
t1数据(t101,t01,100.00,50.00)
t2数据 (t201,t101,150)
查询结果:SUM(t1.notaxsum + t1.taxsum)为150.00t1数据(t101,t01,100.00,50.00)
t2数据 (t201,t101,75)
(t202,t101,75)
查询结果:SUM(t1.notaxsum + t1.taxsum)为300.00t1数据(t101,t01,100.00,50.00)
t2数据 (t201,t101,50)
(t202,t101,50)
(t203,t101,50)
查询结果:SUM(t1.notaxsum + t1.taxsum)为450.00
--------------------------------------------------
奇怪的是,当把SUM(t1.notaxsum + t1.taxsum) AS notaxsum的SUM
换为AVG后,结果就一致了,也是想要得到的.不过在逻辑上却总说不过去?
高手指点.....
SELECT t1.pk_t1,
t1.pk_t,
max(t2.vdef1) AS ncsettlename,
t1.notaxsum , t1.taxsum,
SUM(t1.notaxsum + t1.taxsum) AS notaxsum,
SUM(t2.settlemoney) AS settlemoney
FROM t1
LEFT JOIN t2 ON t1.pk_t1 = t2.pk_t1
WHERE t1.billdate = '2007-05-15'
GROUP BY
t1.pk_t1, t1.pk_t,
t1.notaxsum ,t1.taxsum
**************************************************************
sql语句如上.下面是三种测试数据,返回值却是三种.想破头了....
t1数据(t101,t01,100.00,50.00)
t2数据 (t201,t101,150)
查询结果:SUM(t1.notaxsum + t1.taxsum)为150.00t1数据(t101,t01,100.00,50.00)
t2数据 (t201,t101,75)
(t202,t101,75)
查询结果:SUM(t1.notaxsum + t1.taxsum)为300.00t1数据(t101,t01,100.00,50.00)
t2数据 (t201,t101,50)
(t202,t101,50)
(t203,t101,50)
查询结果:SUM(t1.notaxsum + t1.taxsum)为450.00
--------------------------------------------------
奇怪的是,当把SUM(t1.notaxsum + t1.taxsum) AS notaxsum的SUM
换为AVG后,结果就一致了,也是想要得到的.不过在逻辑上却总说不过去?
高手指点.....
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货