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

发布于 2024-11-08 14:03:41 字数 435 浏览 0 评论 0原文

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

用户表如下所示:

userID |公司ID |登录名 |电子邮件 |结束日期 | ...

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

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

问题:

如何同时为 David、Lisa 和 Erik(对于所有公司)设置相同的结束日期?

I'm maintaining an old ASP application (please don't tell me what you think about ASP, I'm already painfully aware myself) and I'm tasked to easy'fy the user administration.

The user table looks like this:

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

I built some shorthand functions to set properties for an array of users. Normally the SQL to set, for example, the endDate is simple: update users set endDate=x where userID in(y)

The problem lies in that the same user can exist multiply times, ie user 'David' is registered as a user for company C1, C2 and C3. A user is considered "the same" if both email and loginname is the same.

Question:

How can I set the same endDate for David, Lisa and Erik (for all companies) at the same time?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

内心荒芜 2024-11-15 14:03:41

请尝试这个

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

Please try this

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
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文