基于另一个表更新表 [英] Update table based on another table

查看:42
本文介绍了基于另一个表更新表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试根据另一个表中的另一列更新表中的一列.

I'm trying to update a column in a table based on another column in another table.

UPDATE eval e
   SET rank = (SELECT p.desc
                 FROM Position p
                WHERE p.id = e.faculty 
                  AND p.date >= '2011-05-20'
              )

p.ide.faculty 对应.如果 id 相同,我想用 p.desc 更新排名.(e.facultyp.id)

p.id and e.faculty correspond. I want to update rank with p.desc if the id's are the same. (e.faculty and p.id)

任何帮助都会很棒!:)

Any help will be great! :)

推荐答案

在 SQL Server 上试试这个:

Try this for SQL Server:

UPDATE dbo.eval 
SET rank = p.desc
FROM dbo.Position p
WHERE p.id = eval.faculty and p.date >= '2011-05-20'

或者如果您需要基表上的别名(无论出于何种原因),您需要这样做:

or if you need an alias on the base table (for whatever reason), you need to do this:

UPDATE dbo.eval 
SET rank = p.desc
FROM dbo.eval e
INNER JOIN dbo.Position p ON p.id = e.faculty 
WHERE p.date >= '2011-05-20'

这篇关于基于另一个表更新表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆