Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Выборка по рабочему времени (Pavlusha00) 19/07/2006 - 20:24:38
      Re: Выборка по рабочему времени (bac) 19/07/2006 - 22:46:12
      Re: Выборка по рабочему времени (Pavlusha00) 19/07/2006 - 23:36:08
      Re: Выборка по рабочему времени (bac) 20/07/2006 - 07:39:45

> Original message text:
> From: Pavlusha00 - 19/07/2006 - 20:24:38
> Subject:Выборка по рабочему времени
> -----------------
> MySql.
> Добрый день. Хочу написать запрос.
> Таблица Имеет поля (Date)DateStart,(Date)Compleatedate,Time4Do
> DateStart - Дата начала задачи
> CompleateDate - Дата окончания задачи
> Time4do - Время на выполнение задачи, в часах(int).
> Хочу вывести все просроченные строки, учитывая только рабочии (с 9 до 17) часы и будни.
> Пробовал, не получаеться.
>


From: bac - 19/07/2006 - 22:46:12
Subject:Выборка по рабочему времени
-----------------
-- Таблица заданий
create table if not exists task (
id Integer auto_increment primary key comment 'Ид записи',
DateStart Date comment 'Дата начала задачи',
Compleatedate Date comment 'Дата окончания задачи',
Time4Do Integer comment 'Время на выполнение задачи в часах'
);
-- Таблица График работы
create table if not exists graph (
id integer auto_increment primary key comment 'Ид записи',
dt Date comment 'Дата',
jobTime Integer comment 'Рабочее время'
);

-- График работы например за июль, предположим пятница сокращенный день
insert into graph (dt, jobTime) values
('2006-07-03',8), ('2006-07-04',8),('2006-07-05',8),('2006-07-06',8),('2006-07-07',7),
('2006-07-10',8),('2006-07-11',8),('2006-07-12',8),('2006-07-13',8),('2006-07-14',7),
('2006-07-17',8),('2006-07-18',8),('2006-07-19',8),('2006-07-20',8),('2006-07-21',7),
('2006-07-24',8),('2006-07-25',8),('2006-07-26',8),('2006-07-27',8),('2006-07-28',7),
('2006-07-31',8);

-- Задания , одно в срок, одно просрочено, одно просрочно не завершено
insert into task (DateStart,Compleatedate,Time4Do) values
('2006-07-03','2006-07-04', 16),
('2006-07-06','2006-07-10', 16),
('2006-07-13',NULL, 32);

select task.id, Time4Do, DateStart,Compleatedate, sum(jobTime) sumTime
from task, graph
where dt>=DateStart and dt <=ifnull(Compleatedate,curdate())
group by task.id
having sumTime>Time4Do
order by task.id,DateStart;


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
29198



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |