【问题标题】:Insert into newly created column插入新创建的列
【发布时间】:2020-09-17 22:04:52
【问题描述】:

我有一个学生表,其中 2 col 作为 Rollno,Marks 有 12 条记录 我在学生表中添加了另一列作为名称。如何使用 SQL Server 中另一个表中的 12 条记录填充名称?

我试过了:

SELECT * FROM [SampleDB].[dbo].[Student_SQL]
insert into Student_SQL(name)
select name
FROM [School].[dbo].[StudentMaster]
update [Student_SQL]  
set name = 'David'
where RollNo = 4`

【问题讨论】:

  • 您正在运行哪个数据库:sqlserver、mysql、sqlite..?哪一列可以用来关联这两个表?

标签: sql sql-server tsql sql-update


【解决方案1】:

我想你想要 upate/join 语法。假设这两个表通过列rollno关联:

update ss
set ss.name = sm.name
from student_sql ss
inner join student_master sm on sm.rollno = ss.rollno

这种方法的好处是它过滤行并且只更新那些在主表中匹配的行。

【讨论】:

    【解决方案2】:

    为了做到这一点,您需要为两个表提供共同的列

    update [Student_SQL] s
    set name = (select name from other_table o where o.roll_no = s.roll_no)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-28
      • 2015-10-06
      • 2012-04-13
      • 2014-04-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多