DECLARE M,N INT;
SELECT S01,(I03+I04+I05+I12-I13)AS M FROM tk_zyxss;
SELECT S01,(I03*1.5+I04*3)AS N FROM tk_jszdyjs ;
END
这是我的代码
结果1 结果2
S01 M S01 N
2016 2606 2016 27.0
2015 2453 2015 25.5
2014 2711 2014 37.5
2013 2461 2013 33.5
2012 2427 2012 45.0
我现在的想法是把结果1的M 与对应的结果2的值相加,得出一个总的结果
6 个解决方案
#1
两个查询 UNION 之后做个 SUM 就好了吧
select S01, sum(m)
from(
SELECT S01,(I03+I04+I05+I12-I13)AS M FROM tk_zyxss
union all
SELECT S01,(I03*1.5+I04*3)AS N FROM tk_jszdyjs
) x group by S01;
select S01, sum(m)
from(
SELECT S01,(I03+I04+I05+I12-I13)AS M FROM tk_zyxss
union all
SELECT S01,(I03*1.5+I04*3)AS N FROM tk_jszdyjs
) x group by S01;
#2
你这个合并在一起了,可是sum(m)没有数据,为空
#3
只做 union all看看数据,是不是数据本身或者数据类型有问题
#4
只做union all 的话得到下面的结果
S01 M
2016 2606
2015 2453
2014 2711
2013 2461
2012 2427
2016 27.0
2015 25.5
2014 37.5
2013 33.5
2012 45.0
S01 M
2016 2606
2015 2453
2014 2711
2013 2461
2012 2427
2016 27.0
2015 25.5
2014 37.5
2013 33.5
2012 45.0
#5
DECLARE M,N INT;
这个惹的祸,你把这个去掉就好了,这两个变量实际上没有用到的,名称冲突了
这个惹的祸,你把这个去掉就好了,这两个变量实际上没有用到的,名称冲突了
#6
完美解决,谢谢啊
#1
两个查询 UNION 之后做个 SUM 就好了吧
select S01, sum(m)
from(
SELECT S01,(I03+I04+I05+I12-I13)AS M FROM tk_zyxss
union all
SELECT S01,(I03*1.5+I04*3)AS N FROM tk_jszdyjs
) x group by S01;
select S01, sum(m)
from(
SELECT S01,(I03+I04+I05+I12-I13)AS M FROM tk_zyxss
union all
SELECT S01,(I03*1.5+I04*3)AS N FROM tk_jszdyjs
) x group by S01;
#2
你这个合并在一起了,可是sum(m)没有数据,为空
#3
只做 union all看看数据,是不是数据本身或者数据类型有问题
#4
只做union all 的话得到下面的结果
S01 M
2016 2606
2015 2453
2014 2711
2013 2461
2012 2427
2016 27.0
2015 25.5
2014 37.5
2013 33.5
2012 45.0
S01 M
2016 2606
2015 2453
2014 2711
2013 2461
2012 2427
2016 27.0
2015 25.5
2014 37.5
2013 33.5
2012 45.0
#5
DECLARE M,N INT;
这个惹的祸,你把这个去掉就好了,这两个变量实际上没有用到的,名称冲突了
这个惹的祸,你把这个去掉就好了,这两个变量实际上没有用到的,名称冲突了
#6
完美解决,谢谢啊