插入新创建的列

Posted

技术标签:

【中文标题】插入新创建的列【英文标题】: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..?哪一列可以用来关联这两个表? 【参考方案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)

【讨论】:

以上是关于插入新创建的列的主要内容,如果未能解决你的问题,请参考以下文章

根据 R 中的列名创建一个新数据框,其中包含来自另一个数据框的列

sql_Select Into

从 json 创建的 Pandas 数据框有未命名的列 - 由于未命名的列问题,无法插入 MySQL

我想创建触发器来更新基于多个字符串过滤器的列中插入或更新的值

如何将数据库中的列值获取到jLabel

T-SQL 创建一个使用 UDF 的列