楼上朋友,我理解你的意思,但是我这样:SELECT OIPRLT.BECYNO, ips262a.订单量 AS 热处理负载 into #hot FROM ips262a INNER JOIN OIPRLT ON ips262a.AJCONK =OIPRLT.BECONK WHERE (OIPRLT.BESTAT = 20)AND (ips262a.AJPRLV = 31) GROUP BY OIPRLT.BECYNO,ips262a.订单量select * from #hot where becyno='30932'drop table #hot 得到的记录为: 30932 120.748 30932 121.067我用第二种方法得到的是 30932 241.815但是第一种方法得到的却是 30932 4110.855这到底怎么回事呢?也就是第二种结果对,但第一钟方法的数据怎么来的呢?
改成这样看是否正确SELECT OIPRLT.BECYNO, SUM(ips262a.订单量) AS 热处理负载 into #hot FROM ips262a ,OIPRLT WHERE (OIPRLT.BESTAT = 20)AND (ips262a.AJPRLV = 31) AND ips262a.AJCONK =OIPRLT.BECONK GROUP BY OIPRLT.BECYNO
1001,1000
1001,1001002,2000
1003,3000第一种得
1001,2100
1002,2000
1003,3000第二种得
1001,1000
1001,100
1002,2000
1003,3000在SUM后结果肯定不一样了
第一种方法取到的不符合要求(我用计算器加过),所以改用第二个方法的
因为第一种方法是别人写的,领导说数对不上,但是我觉得这俩应该是一样的结果啊
into #hot
FROM ips262a INNER JOIN
OIPRLT ON ips262a.AJCONK =OIPRLT.BECONK
WHERE (OIPRLT.BESTAT = 20)AND (ips262a.AJPRLV = 31)
GROUP BY OIPRLT.BECYNO,ips262a.订单量select * from #hot
where becyno='30932'drop table #hot
得到的记录为:
30932 120.748
30932 121.067我用第二种方法得到的是
30932 241.815但是第一种方法得到的却是
30932 4110.855这到底怎么回事呢?也就是第二种结果对,但第一钟方法的数据怎么来的呢?
into #hot
FROM ips262a ,OIPRLT
WHERE (OIPRLT.BESTAT = 20)AND (ips262a.AJPRLV = 31)
AND ips262a.AJCONK =OIPRLT.BECONK
GROUP BY OIPRLT.BECYNO
你写的我运行了,跟第一种是一样的结果
30932 4110.855我对SQL不是熟悉,这些是别人做的,人家走了又开始我做了。
FROM ips262a ,OIPRLT
WHERE (OIPRLT.BESTAT = 20)AND (ips262a.AJPRLV = 31)
AND ips262a.AJCONK =OIPRLT.BECONK或者
SELECT OIPRLT.BECYNO, ips262a.订单量 AS 热处理负载FROM ips262a INNER JOIN
OIPRLT ON ips262a.AJCONK =OIPRLT.BECONK
WHERE (OIPRLT.BESTAT = 20)AND (ips262a.AJPRLV = 31)