Я занимаюсь разработкой программного обеспечения для учета посещаемости, а время регистрации и выписки будет храниться в одном столбце типа datetime вместе с идентификатором пользователя. мне нужно отделить это время регистрации в столбце и проверить в другом столбце по идентификатору пользователя.
SELECT CHECKINOUT.USERID,Ent_Staff.StaffName,CHECKINOUT.CHECKTIME FROM Ent_Staff
INNER JOIN USERINFO ON USERINFO.BADGENUMBER=Ent_Staff.Bio_Id
INNER JOIN Mas_Shift ON Mas_Shift.Shift_Id=Ent_Staff.Shift_Id
INNER JOIN CHECKINOUT ON CHECKINOUT.USERID=USERINFO.USERID
WHERE checkinout.CHECKTIME>= '01/27/2016' AND checkinout.CHECKTIME <
'01/28/2016' AND checkinout.USERID IN (9,15)
ORDER BY checkinout.CHECKTIME[i had posted the table view also][1]
Вы не предоставили образец данных. Поэтому я опробовал ваше требование на предоставленном вами скриншоте выходной таблицы.
create table #val(id int, name varchar(40), checktime datetime)insert into #val values (1,'a', '2015-01-01 09:30:00.000')
insert into #val values (2,'b', '2015-01-01 10:30:00.000')
insert into #val values (1,'a', '2015-01-01 10:30:00.000')
insert into #val values (2,'b', '2015-01-01 11:30:00.000')select id, name, FORMAT(CAST(checkin AS DATETIME),'hh:mm tt') AS StartTime, FORMAT(CAST(checkout AS DATETIME),'hh:mm tt') AS Endtime
from
(
select id, name,min(checktime) checkin, max(checktime) checkout
from
#val
group by id,name )a
(ПРИМЕЧАНИЕ: я использую sql-сервер 2012. Он имеет функцию форматирования для преобразования даты и времени в AM и PM)