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

使用select语句更新多行

吴凯
2023-03-14
问题内容

我有这些表和值:

Table1
------------------------
ID | Value
------------------------
2 | asdf
4 | fdsa
5 | aaaa


Table2
------------------------
ID | Value
------------------------
2 | bbbb
4 | bbbb
5 | bbbb

我想使用表1中的值及其各自的ID更新表2中的所有值。

有没有办法通过简单的SQL查询来做到这一点?


问题答案:

运行选择以确保它是您想要的

SELECT t1.value AS NEWVALUEFROMTABLE1,t2.value AS OLDVALUETABLE2,*
FROM Table2 t2
INNER JOIN Table1 t1 on t1.ID = t2.ID

更新

UPDATE Table2
SET Value = t1.Value
FROM Table2 t2
INNER JOIN Table1 t1 on t1.ID = t2.ID

另外,请考虑使用,BEGIN TRAN以便在需要时可以将其回滚,但COMMIT请在满意时再进行确认。



 类似资料:
  • 问题内容: 我有两张桌子。表A和表B。 TableA包含一个varbinary(max)列-名为[BinaryA] TableB包含一个包含每个varbinary卷的列(名为“ Volume”,类型为“ Long”)。 为了选择我查询的所有卷 比,我想用它的体积更新tableB。 然后我写 我收到比 虽然我在运行时没有收到任何NULL 问题答案: 尝试使用此查询: 假设TableB和[VAULT]

  • 问题内容: 抱歉,标题不清楚。基本上,我试图从多个表中选择某些记录,然后为返回的记录更新某个列值。 T-SQL实施 甲骨文 我尝试在Teradata中执行与在Oracle中相同的操作,但是出现以下错误: 我在网上寻找解决方案,但没有运气。 问题答案: 您是否使用Teradata尝试了以下语法:

  • 问题内容: 我想使用case语句更新表,查询是这样的… 您能告诉我正确的逻辑以使用case语句完成查询吗 问题答案: 您必须四处交换语法。case语句将应用于您要更新的每个值… 看来您实际上想要的是if语句。 希望能有所帮助

  • 问题内容: 在WHERE子句中有使用SELECT语句描述的名称吗?这是好/不好的做法吗? 这会是更好的选择吗? 它远没有那么优雅,但是运行起来比以前的版本要快。我不喜欢它,因为它在GUI中没有非常清晰地显示(并且SQL初学者需要理解它)。我可以将其分为两个独立的查询,但是随后事情变得混乱了…… 注意:我不仅需要日期和分数(例如姓名) 问题答案: 称为相关子查询。它有它的用途。

  • 问题内容: 我有2个表格,Products和ShoppingCart,我想根据ShoppingCart中指定的产品名称和数量来更新和减少Products表中产品的“数量”。我怎样才能做到这一点? 表:产品字段:产品名称,产品数量 表:购物车字段:ProductName,ProductQty 访问数据库 问题答案: 您应该有一个产品ID。然而: 您还应该在字段和表名中删除空格。

  • 问题内容: 如何批量更新mysql数据?如何定义这样的事情: 具有一些值,例如: 和其他值: 也许用mysql是不可能的?一个PHP脚本? 问题答案: 在这种情况下,最简单的解决方案是使用构造。它的工作速度非常快,并且可以轻松完成工作。 或使用建筑