gpt4 book ai didi

sql - 如何根据条件从另一个表更新表中的列?

转载 作者:行者123 更新时间:2023-12-02 10:42:37 25 4
gpt4 key购买 nike

我有两张 table

  1. 它包含的学生表(Student_id、school_code、name、year、...)
  2. 它包含的学校表(school_id、School_code、School_name、year等等......)

我想根据学校代码和年份,使用学校代码表中的 school_id 列更新学生表中的 school_code 列。我有五年的数据。所以 school_id 每年都不同。

我的查询是

UPDATE Master.Student
SET school_code=( select school_id from Master.school as sc
JOIN master.student as st
ON st.school_code=sc.school_code
WHERE sc.year=x)
WHERE st.year=x;

但它没有更新。我收到子查询返回多个值的错误。

最佳答案

既然可以直接执行子查询,为什么还要使用子查询?

UPDATE st
SET st.school_code = sc.school_id
FROM master.student AS st
JOIN Master.school AS sc
ON st.school_code = sc.school_code
WHERE sc.year=x
AND st.year=x;

有关更多信息,请参阅 UPDATE (Transact-SQL)

关于sql - 如何根据条件从另一个表更新表中的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12363047/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com