您需要对下面的SQL查询提供一些帮助
DECLARE @company nvarchar(50)
DECLARE @theweek date
SET @company = 'RWF'
SET @theweek = '2014-02-03'
SELECT [thedate],[PRN],[StartTime] ,[FinishTime],[Grade],[BreakTime],[TotalCost],[Department],[CompanyCode]
FROM LabourHireCost
WHERE thedate BETWEEN @THEWEEK AND CONVERT(datetime, @theweek) +7
ORDER BY CompanyCode, PRN, thedate
这个返回结果如下(如下),但如果可能,我想做的是返回员工和本周的工作时间
Thedate PRN Start Finish Grade Break Cost Department Company
| 2014-02-03 | 179 | 06:00 | 06:00 | 2 | 01:00 | 26.17 | 2 | DH |
| 2014-02-04 | 179 | 06:00 | 06:00 | 3 | 01:00 | 36.17 | 2 | DH |
| 2014-02-03 | 178 | 06:00 | 06:00 | 2 | 01:00 | 26.17 | 2 | DH |
| 2014-02-04 | 178 | 06:00 | 06:00 | 4 | 01:00 | 46.17 | 2 | DH |
我在想这样的事情
PRN 179
Thedate Start Finish Grade Break Cost Department Company
| 2014-02-03 | 06:00 | 06:00 | 2 | 01:00 | 26.17 | 2 | DH |
| 2014-02-04 | 06:00 | 06:00 | 3 | 01:00 | 36.17 | 2 | DH |
PRN 178
| 2014-02-03 | 06:00 | 06:00 | 2 | 01:00 | 26.17 | 2 | DH |
| 2014-02-04 | 06:00 | 06:00 | 4 | 01:00 | 46.17 | 2 | DH |
答案 0 :(得分:1)
根据您当前的结果与预期结果,看起来查询已经返回了您想要的数据。如果您想以不同方式呈现它,那么这将在您的客户端应用程序中完成(无论是Web应用程序,报告软件,还是Excel),但SQL Server通常不应用于将数据集分解为格式良好的报表。
答案 1 :(得分:0)
那么如何使用cte来计算每个人(开始和结束之间的时间框架)在x日期工作然后选择它的时间量?
答案 2 :(得分:0)
这看起来很像家庭作业。我相信你所寻找的是一个加入http://en.wikipedia.org/wiki/Join_%28SQL%29