Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Помогите с запросом  [new]
Eugeni
Member

Откуда: из провинции в Москве
Сообщений: 314
Здравствуйте.
Неободимо из таблицы выбрать сотрудников из каждого отдела, кто провел в отчетный день наибольшее время на рабочем месте.

Таблица
([Табельный номер],[Номер отдела],[Дата],[Время прихода на работу]
[Время ухода с работы])

select [Номер отдела],max([Время ухода с работы]-[Время прихода на работу]) from Таблица where data='01.01.2000' group by [Номер отдела].

А как табельный номер вытащить?
23 мар 04, 11:20    [591708]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
rst
Member

Откуда: Йобурк
Сообщений: 1005
select Таблица .[Номер отдела],Таблица .[Табельный номер],

(Таблица.[Время ухода с работы]-Таблица.[Время прихода на работу])
from Таблица
join
(select [Номер отдела],MAXT=max([Время ухода с работы]-[Время прихода на работу])
from Таблица where data='01.01.2000' group by [Номер отдела].
)as t
on (Таблица.[Время ухода с работы]-Таблица.[Время прихода на работу]=
t.MAXT and t.[Номер отдела]=Таблица.[Номер отдела])
23 мар 04, 11:28    [591734]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Алексей2003
Member

Откуда: Москва
Сообщений: 5645
select [Номер отдела],[Табельный номер], [Время ухода с работы]-[Время прихода на работу]

from Таблица t where data='01.01.2000'
where [Время ухода с работы]-[Время прихода на работу] in (select max([Время ухода с работы]-[Время прихода на работу]) from Таблица t2 where t2.[Номер отдела] = t.[Номер отдела])

так вроде


для спящего время бодрствования равносильно сну
23 мар 04, 11:28    [591735]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить