【发布时间】:2014-12-17 09:35:28
【问题描述】:
我有一个 SQL 服务器查询,我正在努力实现它,但我很难找到合适的词来描述它以在 MSDN 上查看。我拥有的是一张数据表和一张用户表。我想为 dbo.Users 中的每个用户创建一个循环,以计算 dbo.Data 中的记录,其中用户不是循环中的当前用户,而是 dbo.Users 中列出的用户。
即。
SELECT COUNT(Records)
FROM dbo.Data
WHERE User <> 'ajones' AND (User = 'jbloggs' OR User ='jdoe')
(其中 ajones 是当前用户,jbloggs 和 jdoe 是 dbo.Users 中列出的用户)。
所以“OR”表达式将包含除它正在搜索的用户之外的每个用户,这些用户都存在于 dbo.Users 中
我不能在 WHERE 'ajones'(当前用户),因为 dbo.Data 表中有很多用户,但只有一些用户出现在 dbo.Users 中。
这有意义吗?一些伪代码:
FOR EACH User in dbo.Users
SELECT COUNT(Records)
FROM dbo.Data
WHERE User <> CurrentUser AND User IN dbo.Users
Loop
实现这种查询的最佳方法是什么?
【问题讨论】:
-
您在两个表中都有用户 ID 还是只有用户名?您是否有一些示例数据和所需的输出来说明您的目标?
标签: sql-server