【发布时间】:2014-08-28 22:30:22
【问题描述】:
我有一个奇怪的情况,不太确定如何处理它。
我有 2 个单独的表:
表A是提交
id
submitterQID
nomineeQID
story
表 B 是员工
QID
Name
Department
我正在尝试获取按部门分组的提交总数以及提名总数。
这就是我的存储过程的样子:
BEGIN
SELECT TOP 50 count(A.[nomineeQID]) AS totalNominations,
count(A.[subQID]) AS totalSubmissions,
B.[DepartmentDesc] AS department
FROM empowermentSubmissions AS A
JOIN empTable AS B
ON B.[qid] = A.[nomineeQID]
WHERE A.[statusID] = 3
AND A.[locationID] = @locale
GROUP BY B.[Department]
ORDER BY totalNominations DESC
FOR XML PATH ('data'), TYPE, ELEMENTS, ROOT ('root');
END
这个问题是 JOIN 仅由 nomineeQID 加入,而不是 subQID。
我正在寻找的最终结果是:
部门客户服务有 25 个提交和 90 个提名
按两个计数的总和排序...
我尝试在 subQID 上再次加入 JOIN,但被告知我不能在同一张桌子上加入两次。
有没有更简单的方法来做到这一点?
【问题讨论】:
标签: sql sql-server sql-server-2008 stored-procedures join