我觉得我的头是泥泞的什么的。我试图弄清楚从另一个表更新一个表时 t-sql 更新如何在没有连接的情况下工作。我过去一直使用连接,但遇到了一个存储过程,其他人在没有连接的情况下创建了一个。此更新正在 SQL 2008R2 中使用,并且可以正常工作。
Update table1
SET col1 = (SELECT TOP 1 colX FROM table2 WHERE colZ = colY),
col2 = (SELECT TOP 1 colE FROM table2 WHERE colZ = colY)
显然,colY 是 table1 中的一个字段。要在 select 语句(而不是更新)中获得相同的结果,需要连接。我想我不明白更新是如何在幕后工作的,但它一定是在做某种加入?