从一个表中获取值并使用该值查询另一个表

时间:2011-04-11 10:40:05

标签: sql sql-server-2005 tsql stored-procedures

我有以下表格:

TableA
---------------
ParamA ¦ ParamB
---------------
  695  ¦  Test

TableB
---------------
ParamA ¦ ParamC
---------------
  695  ¦ Test2

所以我正在尝试创建SELECT ParamA FROM TableA WHERE ParamB = @ParamBUPDATE ParamC = 'NULL'TableB WHERE ParamA = ParamA FROM TableA的存储过程

到目前为止我所拥有的是:

UPDATE ClassDetails
SET ValidTo = 'NULL'
WHERE Class = Classes.ClassId AND Classes.ClassName = @ClassName;

我知道上面的错误,但这是我的逻辑......

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

很难理解你的推理,但是如果我 明白你的理解是正确的,那么以下更新将符合你的需求。

UPDATE b
SET    ParamC = NULL
FROM   TableB b
       INNER JOIN TableA a ON a.ParamA = b.ParamA
WHERE  a.ParamB = @ParamB

UPDATE FROM

的语法
  

FROM< table_source>

     

指定使用表   提供更新的标准   操作