我需要查询帮助
我有一个表,其中Jobs和Employee被链接,其名为EmployeeToJobsApplied
Id EmployeeId JobsId Applied Viewed
1 1 1 True True
2 1 2 False True
3 1 1 True True
4 1 3 True True
如果您注意到ID = 3
中有重复值我没有创建数据库结构。由于这是一个后期制作项目,因此我无法对表格结构做太多考虑。
我可以更改的是可以从此表中检索信息的StoredProcedure。
所以我需要的是应用作业总数的单列sigle行值
所以基本上我需要的是得到一个值
2个适用于员工ID的工作= 1
我想忽略重复项。
谢谢!
请随时编辑/重新标记
更新 我确实需要总结果, 我需要申请特定工作的员工总数(不是列表)。 我尝试使用计数而且没有相应的工作,因为它也算不了那些不同的人。感谢您的帮助
答案 0 :(得分:2)
如果您需要聚合不同的值,那么您可以写:
select EmployeeId, count(distinct JobsId) as JobsApplied
from EmployeeToJobsApplied
where Applied = 1
group by EmployeeId
答案 1 :(得分:1)
使用distinct
。
select distinct * from tablename
答案 2 :(得分:0)
如果你的结果集中不需要id,那么使用distinct
之类的东西很简单:
SELECT distinct employeeid, JobsId, Applied, Viewed
FROM EmployeeToJobsApplied
另外,您可以使用where子句删除Applied
为false的结果:
WHERE Applied = true
答案 3 :(得分:0)
select distinct EmployeeId, JobsId from EmployeeToJobsApplied
因为您似乎并不关心应用和查看的列
答案 4 :(得分:0)
我们可以按列
分组,而不是分开select id,JobsId,Applied,Viewed from Emp
group by id,JobsId
因为独特的性能。