更新用户数组(具有相同的用户名和电子邮件)

时间:2011-05-20 19:39:27

标签: sql-server sql-server-2000

我正在维护一个旧的ASP应用程序(请不要告诉我你对ASP的看法,我已经痛苦地意识到自己了)并且我的任务是轻松地“完成用户管理。”

用户表如下所示:

userID | companyID | loginname | email | endDate | ...

我构建了一些速记函数来为一组用户设置属性。通常,要设置的SQL(例如,endDate)很简单:update users set endDate=x where userID in(y)

问题在于同一用户可以存在多次,即用户'David'被注册为公司C1,C2和C3的用户。如果电子邮件和登录名都相同,则用户被视为“相同”。

问题:

如何同时为David,Lisa和Erik(适用于所有公司)设置相同的endDate?

1 个答案:

答案 0 :(得分:1)

请试试这个

UPDATE u 
SET endDate=x 
FROM USERS u 
INNER JOIN
(
    SELECT loginname, email FROM USERS  WHERE userID IN (y)
) a
ON u.loginname = a.loginname
AND u.email = a.email