62,243
社区成员




select distinct
d.DeptName,
sta.StaffId,
f.FreqId,
d.DeptId,
(select top 1 count(*) ---select count(1)
from Attendance as a,
Frequency as f,
StaffInfo as s
left join Position as p on p.PosId=s.StaffPosId
left join Jobs as j on j.JobsId=s.StaffJobsId
where s.StaffId=a.StaffId
and DateDiff(mi,a.InTime,a.OutTime)>=p.MinWorkTime --(DateDiff(mi,a.InTime,a.OutTime)>=p.MinWorkTime or DateDiff(mi,a.InTime,a.OutTime)>=j.MinWorkTime)括在一起
or DateDiff(mi,a.InTime,a.OutTime)>=j.MinWorkTime ) --这里既然是求总数,用的着这么多连接!~?
as FactCount
from Attendance as att,
Frequency as f,
Department as d,
StaffInfo as sta,
Position as po
where att.StaffId=sta.StaffId
and sta.StaffDeptId=d.DeptId
group by sta.StaffId,d.DeptId,d.DeptName,f.FreqId ---这句话有毛用? 直接删除!!
order by sta.StaffId,d.DeptId,d.DeptName,f.FreqId
/*没研究的欲望了....*/
select distinct
d.DeptName,
sta.StaffId,
f.FreqId,
d.DeptId,
(select top 1 count(*) ---这里的top 1放这里有毛用?直接删掉!!
from Attendance as a,
Frequency as f,
StaffInfo as s
left join Position as p on p.PosId=s.StaffPosId
left join Jobs as j on j.JobsId=s.StaffJobsId
where s.StaffId=a.StaffId
and DateDiff(mi,a.InTime,a.OutTime)>=p.MinWorkTime
or DateDiff(mi,a.InTime,a.OutTime)>=j.MinWorkTime )
as FactCount
from Attendance as att,
Frequency as f,
Department as d,
StaffInfo as sta,
Position as po
where att.StaffId=sta.StaffId
and sta.StaffDeptId=d.DeptId
group by sta.StaffId,d.DeptId,d.DeptName,f.FreqId ---这句话有毛用? 直接删除!!
order by sta.StaffId,d.DeptId,d.DeptName,f.FreqId
--去除重复的username项
SELECT * FROM t_Simics AS a
WHERE (id IN
(SELECT MAX(id) AS id
FROM t_Simics AS b
WHERE (username = a.username)))
--DISTINCT 是SQl的去重复函数 例:
select distinct name where from user
--去掉所有name的重复数据行,可以在后面指定某些条件也行