C++Builder
  Начало   Форум   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: SQL для записи в правильную строку  (Прочитано 1247 раз)
SilverFish
Участник


Сказали спасибо: +14/-6
Offline

Сообщений: 786


SQL для записи в правильную строку
« : 24 Май 2016, 16:38:12 »

Как на SQL реализовать такую штуку?:
Как пример возьмем несколько дней:
День первый:
Человек пришел на работу и отметился –
Пишем в базу дата и время.
Вечером человек отметил уход с работы –
Программа видит, что это один и тот же день и пишет во вторую колонку туже дату и новое время. (Тут надо сделать доп. запрос к базе чтобы понять что это один и тот же день?)
После первого дня работы программы имеем:
Пришел                                    Ушел
16.07.2016 09:08:37                 16.07.2016 18:08:55

На второй день таже процедура, но человек забыл отметиться перед уходом, получили такое:
Пришел                                   Ушел
16.07.2016 09:08:37                 16.07.2016 18:08:55
17.07.2016 09:00:44                 пусто

На третий день забыл отметиться, когда пришел, получили:
Пришел                                   Ушел
16.07.2016 09:08:37                 16.07.2016 18:08:55
17.07.2016 09:00:44                 пусто
пусто                                     18.07.2016 18:00:22


На четвертый день ничего человек не забыл и получили:
Пришел                                  Ушел
16.07.2016 09:08:37                 16.07.2016 18:08:55
17.07.2016 09:00:44                 пусто
пусто                                     18.07.2016 18:00:22
19.07.2016 09:05:00                 19.07.2016 19:18:35

Глядя на такую таблицу легко понять, когда человек приходил уходил, забывал отмечаться.

Как правильно организовать такую логику в БД SQLlite?
Спасибо.

P.S.
А может приход-уход хранить в двух отдельных таблицах и затем на основе sql запроса получать правильную выборку?
« Последнее редактирование: 24 Май 2016, 19:37:22 от SilverFish » Записан
Tantos
А ты воспользовался поиском перед тем, как спросить?!
Давний друг


Сказали спасибо: +350/-28
Offline

Сообщений: 2181


« Ответ #1 : 08 Июнь 2016, 12:30:04 »

О... Какие люди! Привет!

Вопрос в чем - как программа поймет, что есть приход, что есть уход? Я бы, навскидку, мутил так:
Поля: id_записи, id_человека, дата_отметки, время_отметки, тип_отметки (пришел или ушел).

А вывод - это вопрос к системе отчета и запросам. Что-нибудь с объединением запросов типа LEFT JOIN. Вспоминать надо SQL, лет 5 ничего не писал .
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  




....

Powered by SMF 1.1.21 | SMF © 2025, Simple Machines
Страница сгенерирована за 0.097 секунд. Запросов: 19.