当前位置: 首页 > 面试题库 >

数学功能

步致远
2023-03-14
问题内容

我在其中有3个表的数据库:A,B,C

答:(项目,数量,位置);B :(项目,数量,位置);C:(Item,Loc1,Loc2,Loc3,Loc4 .......,Loc16);

我需要一个用于自动计算并通过以下方式自动更新C上的值的函数:

Sum(A.qty)-Sum(B.Qty)其中A.Item = B.Item和A.Loc = B.Loc;
结果应在C中的正确列中更新:从Loc1到Loc16

在A或B中添加任何值时,应在C中执行自动计算。在C中,项目是唯一的。在A和B中,可以在不同位置的许多交易中找到项目。


问题答案:

我建议您,比创建很难跟进的触发器更好,创建一个将提供所需信息的视图。请注意,我放置了查询的一部分,需要为3到15的字段编写相同部分的代码:

CREATE VIEW C_View
    AS 
SELECT  C.Item, 
        C.Loc1, 
        COALESCE((SELECT SUM(Qty) FROM A WHERE A.Item = C.Item AND A.Loc = C.Loc1), 0) -
        COALESCE((SELECT SUM(Qty) FROM B WHERE B.Item = C.Item AND B.Loc = C.Loc1), 0) 
        AS Qty1,
        C.Loc2, 
        COALESCE((SELECT SUM(Qty) FROM A WHERE A.Item = C.Item AND A.Loc = C.Loc2), 0) -
        COALESCE((SELECT SUM(Qty) FROM B WHERE B.Item = C.Item AND B.Loc = C.Loc2), 0) 
        AS Qty2,
        ...
        C.Loc16, 
        COALESCE((SELECT SUM(Qty) FROM A WHERE A.Item = C.Item AND A.Loc = C.Loc16), 0) -
        COALESCE((SELECT SUM(Qty) FROM B WHERE B.Item = C.Item AND B.Loc = C.Loc16), 0) 
        AS Qty16,
FROM C;


 类似资料:
  • 本文向大家介绍Lua 数学库的所有函数功能作用一览,包括了Lua 数学库的所有函数功能作用一览的使用技巧和注意事项,需要的朋友参考一下 math.pi 为圆周率常量 = 3.14159265358979323846 abs 取绝对值 math.abs(-15) 15 acos 反余弦函数 math.acos(0.5) 1.04719755 asin 反正弦函数 math.asin(0.5) 0.5

  • 本文向大家介绍Nginx中IF语句实现数学比较功能,包括了Nginx中IF语句实现数学比较功能的使用技巧和注意事项,需要的朋友参考一下 nginx的if支持=、!= 逻辑比较, 但不支持if中 <、<、>=、<= 比较. 本示例使用了set-misc-nginx-module 上面的配置, 在启动nginx时会报错误的. 即然不支持,那有没有办法小小地弥补下呢? 测试10次: 附:NGINX竟然不

  • 本文向大家介绍R学习变量的功能,包括了R学习变量的功能的使用技巧和注意事项,需要的朋友参考一下 示例 通常,R您会想知道有关正在使用的对象或变量的信息。在阅读别人的代码甚至您自己的代码时,这很有用,尤其是在使用您不熟悉的软件包时。 假设我们创建一个变量a: 这是什么数据类型?你可以找到 这是一个矩阵,因此矩阵运算将在其上进行: 的尺寸是a多少? 其它有用的功能,对于不同的数据类型的工作是head,

  • 因此,我在为我的数据库提出实体关系时遇到了一些麻烦,但是我已经完成了一些设计过程,并且是最低口径的。将创建数据库,以便学生可以有许多课程的许多对许多关系(显然我知道)。数据库需要每天跟踪家庭作业和出勤率。但是,课程可以只是一周中的一天或许多天。 顾问- 学生- 课程- 学生课程- 这里我陷入了困境,我想创建一个日历表,但我如何将数据关联到作业表和出勤率。如有任何建议,欢迎批评指正。

  • 转置数字——解决溢出的思路[E] atoi——培养严谨的思路,正负号的处理技巧[E] 回文数字巧解[E] 位运算实现除法[M]

  • Pseudorandom Number Generation 你可以使用内置函数Math.random来生成统一的分布。例如,成介于0和99 (含)的随机整数,可以调Math.floor(Math.random() * 100)。 d3.random.normal([mean, [deviation]]) 返回一个符合正态(高斯)分布normal (Gaussian) distribution的随