【问题标题】:Need to write SQL statement to copy a value from one field to another where a condition is true需要编写 SQL 语句将值从一个字段复制到另一个条件为真的字段
【发布时间】:2012-05-18 19:06:57
【问题描述】:

我不是 SQL 专家(无论如何)。我知道我可以在 vb.net 中以编程方式执行此操作(如果我无法弄清楚如何使用 SQL 语句执行此操作)。

我需要将一个表中的字段的值复制到另一个表中的另一个字段,其中特定条件为真。我已经尽力在下面建模了:

  • Table1.field1
  • Table1.field2
  • Table2.field1
  • Table2.field2

我想复制值

from :Table2.field2 
To   :Table1.field2

where Table1.field1 = Table2.field1 (There are about 3000 rows).

基本上,我在一大堆记录的一个字段中有一些字符串信息,我需要将其复制到相同的记录中,但在不同表的不同字段中。这有意义吗?

我知道我应该提供一些代码来表明我正在尝试;但是,我真的不知道从哪里开始。如果有人能指出我正确的方向,我愿意自己坚持下去吗?如有任何帮助/指导,我将不胜感激。

谢谢!

【问题讨论】:

    标签: sql tsql


    【解决方案1】:

    使用 SQL Server,您可以使用连接 UPDATE 一个表:

    UPDATE t1
     SET t1.field2 = t2.field2
    FROM table1 t1
    JOIN table2 t2
      ON t1.field1 = t2.field1
    

    【讨论】:

    • 我会试一试。如果我想从 t2.field2 复制值并将其放入 t1.field2 我应该反转您编写的 SET,还是已经这样做了?我是 SQL 的初学者,所以我可能没有正确阅读您的陈述。谢谢!
    • 我想我把它弄反了,你是对的。我已经更新了答案!
    • 这很完美!非常感谢。 SQL 一直是我的致命弱点。是时候再次阅读书籍了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多