如何使用返回多个结果的子查询

Xit*_*rum 2 sql t-sql subquery

我的SQL查询

UPDATE Task SET Done = 1 WHERE (ID = (SELECT ID FROM User WHERE UserName = @UserName) 
Run Code Online (Sandbox Code Playgroud)

我试过并得到一个错误:

子查询返回的值超过1.当子查询跟随=,!=,<,<=,>,> =或子查询用作表达式时,不允许这样做.该语句已终止.

有没有可能的方法(例如for循环)?谢谢

Dan*_*man 6

行的ID如何等于多个值?

这没有意义,这就是为什么写这样的查询是不可能的.

检查ID是否在一组中是有意义的,但......

...WHERE ID IN (SELECT ID...