我正在维护一个旧的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?
答案 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