我正在尝试使用TSQL从我的数据库中的不同表中的多行更新多个列 这是我的更新
UPDATE pm
SET [COL1] = CASE WHEN p.MID=’Hi’ THEN 1 ELSE [COL1] END,
SET [COL2] = CASE WHEN p.MID=’Bye’ THEN 1 ELSE [COL2] END
FROM
Papers p
INNER JOIN PaperMeasures pm ON pm.PaperID=p.PaperID
现在Papers表有多行相同的信息 - 除了MID列。一行可以显示“Hi”,而另一行可以读取“Bye”,如此
PaperID | MID | PaperName …
-------------------------------------
1 | Hi | PaperName1
-------------------------------------
1 | Bye | PaperName1
在我要更新的列中,只有一行具有指定的PaperID,我想更新多列。它应该如下所示
PaperID | Hi | Bye …
-------------------------------------
1 | 1 | 1
到目前为止看起来像上面的例子 - 我的PM表只能检查一个列(Bye)而不是两个(Hi和Bye) 不知道如何让它捕获它们。