22,209
社区成员
发帖
与我相关
我的任务
分享
y. a+b+c+d+e/z.a
+
y. a+b+c+d+e/z.b
-----------------------
y. a+b+c+d+e/z.e
+
y. a+b+c+d+e/z.f
=>
设 y.a+y.b+y.c+y.d+y.e = K , 则:
K/z.a + K/z.b
-------------
K/z.e + K/z.f
=>
1/z.a + 1/z.b
--------------
1/z.e + 1/z.f
=>
z.e*z.f ( z.b + z.a )
----------------------
z.a*z.b( z.f + z.e )
SELECT
CAST( (z.e * z.f * ( z.a + z.b )) AS DECIMAL(18,5) )
/
CAST( (z.a * z.b * ( z.e + z.f )) AS DECIMAL(18,5) )
FROM TMZ z
SELECT
(
cast((y.a+y.b+y.c+y.d+y.e+y.f)/(z.a*1.000000) as decimal(18,10))+
cast((y.a+y.b+y.c+y.d+y.e+y.f)/(z.b*1.000000) as decimal(18,10))
)
/
(
cast((y.a+y.b+y.c+y.d+y.e+y.f)/(z.e*1.000000) as decimal(18,10))+
cast((y.a+y.b+y.c+y.d+y.e+y.f)/(z.f*1.000000) as decimal(18,10))
)
FROM TMY y, TMZ z
你运行一下下面的语句,看看是什么东西导致为0的就知道什么原因了:
SELECT y.a, y.b, y.c, y.d, y.e, y.f, (y.a+y.b+y.c+y.d+y.e+y.f) AS y, z.e AS ze, z.f AS zf
FROM TMY y, TMZ z
WHERE (CAST((y.a+y.b+y.c+y.d+y.e+y.f)/z.e*1.000000 AS DECIMAL(18,10))+
CAST((y.a+y.b+y.c+y.d+y.e+y.f)/z.f*1.000000 AS DECIMAL(18,10))) = 0