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

从表b更新表a,其中(条件)

邵博艺
2023-03-14
问题内容

整个晚上

其实是晚上。大约晚上11点。我的大脑正在关闭,需要一些帮助,所以我可以完成工作并回家:)

我有两个表-表a和表b。当其他两个字段匹配时,我需要使用表b中的值更新表a中的字段。这些表的每个记录没有唯一的ID :(

基本上,我想这样做:

update a
set importantField = 
(select b.importantfield
from b
where a.matchfield = b.matchfield
and a.matchfield2 = b.matchfield2
)
where a.matchfield = b.matchfield
and a.matchfield2 = b.matchfield2

或者至少…我认为那是我想要做的…

有人可以帮我吗?


问题答案:

您可以通过更新中的联接来执行此操作:

Update a
Set a.importantField = b.importantField
From a Join b 
  On a.matchfield = b.matchfield
  And a.matchfield2 = b.matchfield2


 类似资料:
  • 我有一个表a,其中有字段'date'、'time'、cost和order_id 表b包含字段“year”“month”“hour”“cost”和order_id字段。 两个表都与“order_id”字段链接。如果两个表中的year、month和hour和order_id相同,我希望更新表a,并将表b的相应值更新到表a字段“cost”。 我用过这个语句,但是query不起作用?这里面到底出了什么问题

  • 我编写了这个函数,它看起来很有用,但我想知道是否有更干净的解决方案。 奖励问题:我有一个java 8约束,但是后来的版本如何改进它?我想我不再需要使用 ,因为 Java 9 引入了 函数。

  • 更新索引 Dart允许修改List中项目的值。 换句话说,可以重写列表项的值。 以下example说明了相同的情况 - void main() { List l = [1, 2, 3,]; 1[0] = 123; print (1); } 上面的示例使用索引0更新List项的值。代码的输出将为 - [123, 2, 3] Using the List.replaceRan

  • 问题内容: 我有两张桌子。表和表。两者都有多对多的关系。 表A: 表B: 表AB: 我想要得到的名单,从表S =该有关系 的名单表第。 上表中的示例: 我想所有这些都表的关系小号 1和2,我得到那么3具有这两个表第。 如何使用SQL查询做到这一点? 问题答案: 如果要基于“不作为”列表(而不是“全部”作为)进行选择,请按照以下步骤操作: 用您的列表替换,并在having子句中替换为列表项的数量。

  • 问题内容: 我在以下逻辑上遇到麻烦: 可以说我有一个清单 这两个项目都在列表中… 版画 列表中只有第一项… 版画 列表中都没有… 版画 这是一个令人困惑 的列表中仅 第二 项… 版画 我不明白为什么这没有注册为真实的陈述。如何将其推广到具有 n个 条件的 or 语句? __ 3、2、1 … 问题答案: 让我们分解一下表达式: 首先会检查是否为True。如果是,则表达式将返回。如果没有,它将返回。

  • 我正在尝试在时间戳上连接来自两个表A和B的数据。理想情况下,我希望tableA的每一行都符合unitCode和时间限制,如果tableB中有关联的行,则将其连接,否则假设表B中的颜色已附加,但为空或空。 假设TableA看起来像这样: id |时间戳|项目1 |项目2 |项目3 表B看起来像这样: 同上|时间戳|项目 B1 |项目 B2 因此,数据可能如下所示: 时间戳|itemA1|itemA2