我现在的SQL是这样的:我需要指导格式化输出,一个SQL查询
Declare @Start datetime;
Declare @End datetime;
set @Start = '2016-04-4';
set @End = '2016-04-10';
Select pr.PR_FIELD03 AS EENo, pr.PR_Name AS EEName, lo.LocationName AS [State], SUM(ts.TotalMins/60) AS Hours, ts.OTFlag from TimeSheets as ts
join BWSPRMSD as pr on ts.EmployeeSSN = pr.PR_SSN
join Locations as lo on ts.LocationID = lo.LocationID
where ts.TransDate >= @start AND ts.TransDate <= @End AND ts.ActiveFlag = 1 AND HolidayFlag = 0 AND VacationFlag = 0
group by pr.PR_FIELD03, pr.PR_Name, lo.LocationName, ts.OTFlag;
修订
这将会给我:
EENo EEName State Hours OTFlag
118 Randy TX 31 1
118 Randy TX 40 0
118 Randy MS 40 0
125 Bill OK 40 0
我需要的是:
EENo EEName Reg Hours O.T. Hours State
118 Randy 40 31 TX
118 Randy 40 0 MS
125 Bill 40 0 OK
任何建议,你可能会感激。
预先感谢您
UPDATE
我很抱歉,因为我原来的职位也不是很清楚。不,我不想仅更改列名称,如果OTFlag已设置,我需要在同一行上分割小时。
另外,如果linq或Lambda是你的一杯茶。这些答案同样适用。
您希望列具有不同的名称或不同格式的数据吗? – WickedFan
Randy,想象一下,除了你之外,没有人坐着......不知道你的查询中有什么数据出来,不知道你想要什么......请尝试以某种方式提出你的问题,让人们有机会理解您的需求......您的更新完全没有任何结果......请在您的专栏名称下方添加一些示例数据,以及这应该看起来像(*我拥有的*和*我想要的*) – Shnugo
您的表结构是什么? ts.TotalMins/60似乎只是你的OT时间。你的常规分钟在哪里? – WickedFan