Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Помогите с SQL-запросом новичку плиз!!!

2.3K
14 февраля 2003 года
request
6 / / 29.01.2003
Есть таблица t1 - времен прихода на работу
t1.id - id человека
t1.date - время прихода на работу.

как мне узнать, сколько раз человек опаздывал в промежуток с d1 по d2?
То есть опозданием считается приход на работу после Tlate (например 9 часов)?

select count(t1.id) from t1 t1
where t1.date > d1 and t1.date < d2
and (t1.date-tranc(t1.date)>Tlate) - такой запрос выберет всех, кто приходил на работу. Но человек мог приходить несколько раз (выходил в другой таблице :) ), то здесь будет отображено и кол-во повторных приходов. Как мне сгруппировать все приходы в этот день и посмотреть самый ранний?

Или делать надо наоборот?
то есть, если мы знаем, что между d1 и d2 = 10 дней, то
select 10-count(t1.id) from t1 t1
where t1.date > d1 and t1.date < d2
and (t1.date-tranc(t1.date)<Tlate)
выдаст нам правильный ответ?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог