MySQL - 使用 SET 语句更新查询取决于前一个 SET 语句的结果

2023-11-29

这是我希望通过 UPDATE 语句实现的目标的表格表示。

+----+----+---+---+----+----------+---------------+---------------+
| ID | A  | B | C | D  |  Calc A  |    Calc B     |    Calc C     |
+----+----+---+---+----+----------+---------------+---------------+
|  1 |  6 | 5 | 2 | 10 | =[A]-[B] | =[Calc A]/[D] | =[B]/[Calc B] |
|  2 |  8 | 5 | 2 | 10 | =[A]-[B] | =[Calc A]/[D] | =[B]/[Calc B] |
|  3 | 10 | 5 | 2 | 10 | =[A]-[B] | =[Calc A]/[D] | =[B]/[Calc B] |
+----+----+---+---+----+----------+---------------+---------------+

我当前实现此目的的更新语句如下......

UPDATE [EXAMPLE]
SET [Calc A]    = A - B
    , [Calc B]  = [Calc A] / D
    , [Calc C]  = B / [Calc B] 

但是它没有按预期工作。 [Calc A] 将在第一次更新时正确计算。但是,[Calc B] 将使用 [Calc A] 中的旧值进行计算,而不是我刚刚写入数据库的新更新值。这对于 [Calc C] 也是如此,它再次引用 [Calc B] 的 OLD 值。

如果执行 UPDATE 语句 3 次,数据将正确计算出来。 [Calc A] 在第一次计算中设置正确,然后 [Calc B] 将在第二次 UPDATE 中引用 [Calc A] 的正确更新值,然后 [Calc C] 将在第二次 UPDATE 中引用 [Calc B] 的正确值第三次更新。

所以我的问题是如何在一个更新语句中将所有列设置为正确的值?


独立计算一下:

update [EXAMPLE]
set [Calc A] = A - B,
    [Calc B] = (A - B) / D,
    [Calc C] = B / ((A - B) / D)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL - 使用 SET 语句更新查询取决于前一个 SET 语句的结果 的相关文章

  • MYSQL从每个类别中随机选择一条记录

    我有一个数据库Items表看起来像这样 id name category int 有几十万条记录 每个item可以是 7 种不同的之一categories 对应于categories table id category 我想要一个从每个类别
  • Spark SQL 中的 SQL LIKE

    我正在尝试使用 LIKE 条件在 Spark SQL 中实现联接 我正在执行连接的行看起来像这样 称为 修订 Table A 8NXDPVAE Table B 4 8 NXD V 在 SQL Server 上执行联接 A revision
  • 快速将列的副本添加到 MySQL 表

    我需要一种快速的方法来复制表中的 DATETIME 列并为其指定一个新名称 我的表中有一个名为 myDate 的列 名为 myResults 我需要一个查询来在名为 newDate 的表中创建一个新列 该列的数据与 myDate 列完全相同
  • 如何在 SQL Server 中连接

    我的数据库没有特定的列 因此我通过开关在查询中创建了一个列 我需要的是将此列与数据库中的另一列连接起来 select certificateDuration DurationType case when certificateDuratio
  • 内部 while 循环不工作

    这是我项目网页上的代码片段 这里我想显示用户选择的类别 然后想显示属于该类别的主题 在那里 用户可以拥有多个类别 这没有问题 我可以在第一个 while 循环中打印所有这些类别 问题是当我尝试打印主题时 结果只显示一行 但每个类别中有更多主
  • 是否可以引用同一个表中的不同列?

    如果博客有一个 类别 表 如下所示 CREATE TABLE categories id INTEGER PRIMARY KEY AUTO INCREMENT parent id INTEGER NOT NULL name VARCHAR
  • 当您在 SQL Server 中创建新登录名时,它默认选择 db_owner

    我在 SQL Server 2008 R2 中创建新的 SQL 用户时遇到一些问题 当我使用 SQL Server Management Studio 时 它会检查db owner默认情况下的角色成员资格 我只想创建一个具有只读访问权限的新
  • 如何在 MySQL 查询本身中检索 JSON 数组中存储的值?

    我有下表 product id product name image path misc 1 flex http firstpl course level id 19 group id 40067 2 Android http firstp
  • 加载“mysql2”Active Record 适配器时出错

    我正在尝试升级我的应用程序 这是我在部署应用程序时遇到的错误 加载 mysql2 Active Record 适配器时出错 缺少它所依赖的宝石 无法激活mysql2 0 4 4 已经激活mysql2 0 3 21 确保所有依赖项都添加到 G
  • 如何从MySQL数据库获取今天/昨天的数据?

    我想从数据库中检索今天的数据 但我不知道该怎么做 我实际上想要获取不是过去 24 小时的数据 我只想获取今天的数据 因此基于实际服务器时间 我还想获取昨天的数据 谁能帮我怎么做 示例代码 SELECT id FROM folk WHERE
  • Big Query - 将数组/json 对象转置为列

    这个问题是这两个问题的延续 Bigquery 将数组转置为列 https stackoverflow com q 64346504 7463780 大查询 将特定字段转置为列 https stackoverflow com q 643983
  • 如何获取日期时间字段的 UTC?

    我正在使用 MySQL 5 并且正在尝试将日期时间字段转换为 UTC TIMESTAMP 这是我所拥有的 但它不起作用 并且不确定我是否可以做到这一点 但有人可以告诉我我做错了什么吗 谢谢 我已经尝试过这个 SELECT UTC TIMES
  • Oracle SQL 分析查询 - 类似递归电子表格的运行总计

    我有以下数据 由A值 排序依据MM 月 The B列计算为GREATEST current value of A previous value of B 0 以类似电子表格的方式 我怎样才能计算B使用 SQL 查询 我尝试使用分析函数 但未
  • 在 MySQL 中将值设置为 NULL

    我想要一个值被设置为NULL如果我提交的表单中的文本框中没有输入任何内容 我怎样才能做到这一点 我试过插入 NULL 但这只是添加了这个词NULL进入现场 我不确定我应该为此提供什么代码 我只是编写一个 UPDATE 查询 不要放NULL更
  • 如何使用java避免Mysql数据库中的“数据因列被截断”?

    在我的 Java 程序中 Hibernate Bean 类定义一列 例如 TimtableVO java Column name REPEAT DAYS private WeekdayType repeatDays hear Weekday
  • Tomcat JDBC 池中没有足够的空闲连接

    给定以下 Tomcat JDBC 连接设置
  • 同一表中同一列的 SQL 完全外连接

    这可能更多的是一个设计问题 但我希望这在没有太多巫术的情况下是可能的 假设我有一个这样的表 SELECT FROM stuff id grp 1 a 2 a 3 a 1 b 2 b 4 b 我想要得到这样的东西 ID 按列分组 a id b
  • 如何在 sql 2005 或 2008 中使列区分大小写

    是否可以根据列更改默认排序规则 我想让 1 列区分大小写 但其他所有列都不区分大小写 ALTER TABLE ALTER COLUMN允许更改单个列的排序规则 alter table Foo alter column Bar ntext c
  • 如果字符串包含数字,则仅返回字符串中的数字

    例如 字符串是abc123CD需要找到一种只读方法numbers在字符串中i e select a postgres function abc123CD Result 123 My try select substring abc123CD
  • 使用 ActiveRecord 和 Yii2 记录实际的 SQL 查询?

    我正在这样做 students Student find gt all return this gt render process array students gt students 然后在视图中 foreach students as

随机推荐

  • 如何以编程方式在 MoinMoin 中创建新页面?

    我想编写一个 python 脚本来调用一些外部 REST 服务 然后根据我拉回的数据创建 MoinMoin 页面 我在 wiki 农场配置中的 CentOS 5 3 和 MoinMoin 1 9 3 上使用 Python 2 4 3 请注意
  • 如何通过 TextBlock 文本值设置 TextBlock 的 Foreground 属性?

    可以通过 TextBlock 文本值设置 TextBlock 的前景属性吗 例如 文本值为Mike 前景属性为Black 值为Tim 属性值为green等 我用google搜索 但没有找到任何解决方案 如果您希望灵活地做一些聪明的事情 例如
  • 为什么 Rails UJS ajax:success bind 被调用两次?

    我有一个简单的表格 form for posts path id gt new post remote gt true do text field tag post input submit tag Post 我已将回调绑定到ajax su
  • rundll32 url.dll,FileProtocolHandler

    我在用着rundll32 url dll FileProtocolHandler my file dotx在 Windows 下打开文件 它适用于 docx 文档 但当我尝试使用 dotx 文档 模板文档 时 它会根据模板创建一个新的 do
  • 如何使用react-google-maps包通过放大反应来聚焦于标记位置

    如何通过缩放对焦到标记位置 一旦标记位置更改为不同位置 我需要手动放大和缩小并转到市场位置 从字面上看 我需要手动滚动并放大到标记的位置 这很困难 我在用https github com tomchentw react google map
  • 查找数组中的最大值

    将一千 1000 个元素输入到数组中 无内存限制 众所周知 在输入元素时 每当我们输入一个值时 我们都可以通过检查来更新输入值的最大值 但想象一下 如果最大值的位置在 900 左右 如果我从位置 800 到 1000 删除 200 个元素
  • 在什么情况下需要关闭 HTTP 连接?

    在什么情况下需要关闭 HTTP 连接 HTTP 不是一种具有 连接 的协议类型 它是一种具有 连接 的协议 这就是他们所说的 无状态 这意味着每个请求都与其他请求分开 这就是为什么我们有会话 cookie 之类的东西 人们必须设法允许信息在
  • Android 翻转图像动画

    我想通过翻译动画在android中翻转图像 例如 假设我有一张卡 当翻译动画开始时 它会将卡片显示到新位置 现在这里的卡应该翻转吗 从背面到正面 我怎样才能做到这一点 APIdemos 中的示例名称是 旋转3d动画 java 也只需检查下面
  • 宏的逆柯里化?

    假设我们有一个 define FOO x y something 我想构建这样的宏 define BAR that BAR x y 会打电话FOO x y 如果可能的话 我该怎么做 我尝试了以下操作 define BAR x FOO x B
  • Highcharts 删除 x 轴上的空间

    我正在尝试使用 Highcharts 库构建面积图 突然我发现在我的实际数据开始之前 x 轴上有一些间距 我想用适当的数据从 0 0 轴开始绘制图表
  • BeancreationException+NosuchBeandefinition异常

    我正在使用 Spring Boot 开发 Spring 4 应用程序 在 com test tm 包中 应用类 SpringBootApplication EnableJpaRepositories repositoryFactoryBea
  • flash AS3 如何删除舞台事件侦听器

    我正在 flash 和 as3 中构建动画 我有一个添加舞台的功能 eventListener stage addEventListener Event ENTER FRAME setScrollPercent false 0 true 由
  • Swift Array contains 函数使构建时间变长

    我不确定这是否属于 Stack Overflow 如果不属于 请告诉我 我有这段代码将联系人添加到数组中 如果数组中已存在具有该电话 姓名组合的联系人 则不会再次添加它 意味着没有重复项 它按预期工作 但它大大增加了构建时间 我正在寻找更好
  • SGEN、InternalsVisibleTo 和程序集签名

    我正在尝试做一些不寻常的事情 我有这个类 Foo public class Foo public Foo string name this Name name internal Foo public string Name get inte
  • CSS - 如何创建这样的圆形饼图画布?

    非常喜欢这个元素 但如何创建它呢 我不确定该元素的正确名称是什么 非常感谢 这种效果可以通过分层几层来实现arc s bright blue full circle d beginPath d arc 50 50 50 0 2 Math P
  • 使用 Java 解析 Postfix 中的收件箱

    我使用 Postfix 作为邮件服务器 并将其配置为将电子邮件接收到某个目的地 我想编写一个 Java 代码来解析传入的电子邮件并执行一些操作 知道从哪里开始或使用什么吗 我看到两种方法 例如使用 jcup 或 jflex 解析邮箱 或邮件
  • C# 从流中压缩和压缩 csv

    我有一个 MemoryStream 从 DataTable 中提取数据 目前 这会输入 MailMessage 附件并邮寄出附加到邮件的 csv 我需要做的就是对其进行压缩和压缩 所以现在我正在迭代 DataTable 的每一行 添加适当的
  • 在用户定义类的实例上启用列表(实例)或元组(实例)

    有没有一种方法可以使用标准类型构造函数 例如 int set dict list tuple 等 以用户定义的方式将用户定义类的实例强制为这些类型之一 例如 class Example def init self self a 1 self
  • 无法从气流 Pod 中提取 xcom - Kubernetes Pod Operator

    在运行使用 docker 镜像运行 jar 的 DAG 时 xcom push 真给出了它在单个 pod 中创建另一个容器以及 docker 镜像 DAG jar task KubernetesPodOperator namespace t
  • MySQL - 使用 SET 语句更新查询取决于前一个 SET 语句的结果

    这是我希望通过 UPDATE 语句实现的目标的表格表示 ID A B C D Calc A Calc B Calc C 1 6 5 2 10 A B Calc A D B Calc B 2 8 5 2 10 A B Calc A D B