这就是我所拥有的:
表格1
CB / A / B / C
X / 5 / 2 / 1
Y / 2 / 3 / 0
表 2
CB / FL_X / FL_A / FL_V
X / 0.2 / 0.3 / 0.5 ---> (sum up to 1)
Y / 0/45 / 0.55 / Null ---> (sum up to 1)
现在我想将这两个表相乘得到:
表格结果:
CB / FL / A / B / C
X / X / 0 / 0 / 0
X / A / 2 / 1 / 0
X / V / 3 / 1 / 1
Y / X / 1 / 2 / 0
Y / A / 1 / 1 / 0
正如您在表 1 中看到的数字,结果是整数。所以我必须使用“圆形”功能。并且表结果中每个CB的总和应该与表1相同。例如(CB(X,A)= FL_X(A)+FL_A(A)+FL_V(A)-> 5(来自表1) = 0 + 2 + 3(来自表格结果)。如您所见,FL_V(A) 为 0.5*5=2.5,如果我将其舍入,则为 3。如果我对 FL_A(A) 执行相同操作 --> 0.3* 5=1.5~2. 3+2=5; 因此,虽然 FL_X(A) 为 0.2*5=1,但结果中为 0,因为总和应等于表 1。这是通过按值对表 2 进行排序来完成的第一的。
这是一个比我小得多的桌子的例子。
你能帮我写这个过程的sql查询吗?