Мне нужно получить общее количество времени, проведенного в SQL, любые идеи?Как получить общее количество времени в sql
Это простой пример моего запроса.
`SELECT
A.INDX, B.CLIENTNAME, C.PROJECTNAME, D.NAME,
CONVERT(CHAR(10), A.CDATE, 101) [DATE],
CONVERT(TIME(0), A.START_TIME, 108) [START],
CONVERT(TIME(0), A.END_TIME, 108) [END],
CONVERT(TIME(0), (A.END_TIME - A.START_TIME), 108) [HOURS_WORKED]
FROM
LOGSHEET A, CLIENTS B, PROJECTS C, DEVELOPERS D
WHERE B.CLIENTNO = 1
AND C.PROJECTID = 11
AND D.USERID = 1`
Всего должно быть под отработанному
уронил logsheet стол
`BEGIN CREATE TABLE [dbo].[LOGSHEET](
[INDX] [int] IDENTITY(1,1) NOT NULL,
[CLIENTNO] [int] NULL,
[PROJECTID] [int] NULL,
[USERID] [int] NULL,
[CDATE] [datetime] NULL,
[START_TIME] [datetime] NULL,
[END_TIME] [datetime] NULL) ON [PRIMARY]END GO`
в основном то, что мне нужно
имя | время начала | Время окончания | Hours_worked |
AJ ...... | 07:00:00 | 07:15:00 | 00:15:00 |
AJ ..... | 07:00:00 | 07:15:00 | 00:15:00 |
Total: |00:30:00|
Вы вообще не присоединяетесь к своим столам ..... вы действительно хотите декартовой продукт между всеми этими таблицами? –
Я бы согласился - прекратите использование старомодных объединений (пожалуйста, прочитайте: http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad-habits-to-kick-using-old-style- joins.aspx). И что, если start_time -> end_time пересекает полночь? –
извините за то, что не присоединились к столам, это очень юный проект, который еще только приблизился к планированию, и времена Аарона не пройдут за полночь, поскольку это небольшое офисное приложение только для торговых часов вроде 07: 00-16: 30 –