我的员工表
EMPLOYEEID, EMPLOYEENAME
我的CallReportEmployee表
ReportID, EMPLOYEEID
我的报告表
ReportID , ReportName
当我想要获取时,我想显示所有员工姓名,当那些人没有选择ReportID 1时
1份报告可由许多员工组成
我怎么能得到这样的结果呢?我想列出所有具有ReportID的员工而不是1?
EMPLOYEENAME REPORTID
Roger 1
Peter 1
Shawn NULL
Peter NULL
我试试这个,它不起作用
SELECT rc.EmployeeID, rc.ReportID, e.FirstName
FROM employee e
LEFT JOIN callreportemployee rc ON e.ID = rc.EmployeeID
它只显示所有员工
EMPLOYEENAME REPORTID
Roger Null
Peter 1
Peter 2
Shawn 3
Shawn 2
John NULL
如果我在where rc.ReportID = 1
中加入,则只会显示为Peter
如何实现我想要的格式?我不想要重复名称
答案 0 :(得分:0)
如何实现我想要的格式?我不想要重复名称
使用GROUP BY
子句聚合重复的名称,如此查询中所示:
SELECT U.Id as [User Link], Count(Pt.Id) AS ANSWERS
FROM Users U, Posts P, PostHistory Ph, PostTypes Pt
WHERE
Pt.Id = Ph.PostHistoryTypeId
AND
U.Id = P.OwnerUserId
AND
P.Id = Ph.PostId
AND
Pt.Id = 2
GROUP BY U.Id
HAVING Count(Pt.Id) > 2000
ORDER BY ANSWERS DESC
<强>参考强>