Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.01.16;
Скачать: [xml.tar.bz2];

Вниз

как найти время?   Найти похожие ветки 

 
silenser   (2002-12-19 14:51) [0]

есть база с полями
таб № вход/выход | дата/время
4444 | вход | 13.12.2002 6:59
4444 | выход | 13.12.2002 12:51
4444 | вход | 13.12.2002 13:59
4444 | выход | 13.12.2002 16:59
5555 | вход | 13.12.2002 6:59
5555 | выход | 13.12.2002 17:02
6666 | вход | 13.12.2002 7:02
8888 | вход | 12.12.2002 17:02
8888 | выход | 13.12.2002 6:59
5555 | вход | 13.12.2002 6:59
5555 | выход | 13.12.2002 17:02
как посчитать сколько времени он пробыл на предприятии???


 
Johnmen   (2002-12-19 14:54) [1]

Написать программу !


 
Prooksius   (2002-12-19 14:55) [2]

Опять телепатов ищут... Телепаты, АУ!! :)))

Локальная база? IMHO, пробежаться по dataset и посчитать
SQL-база? ХП и также


 
Prooksius   (2002-12-19 14:56) [3]


> сколько времени он пробыл на предприятии

А кто это? :)))))))


 
silenser   (2002-12-19 14:58) [4]

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


 
silenser   (2002-12-19 14:59) [5]

по каждому табельному №


 
Prooksius   (2002-12-19 15:12) [6]

Надеюсь, не такого, типа сначала один вошел, потом он же опять вошел? Или сначала вышел, а потом вошел? :))))


var
TabNo: integer;
DateTime: TDateTime;
begin
Query.SQL := "select TabNo, InOut, DateTime from Table1 order by TabNo, DateTime"
Query.Open;
while not Query.EOF do begin
// ну а здесь подумай сам, многое зависит от конкретной ситуации
end;
end;


 
Johnmen   (2002-12-19 15:36) [7]

Должен заметить, что задача не совсем тривиальная, т.к. надо учесть :
1) есть запись прихода и нет записи ухода
2) есть запись ухода и нет записи прихода
3) время записи ухода более раннее времени прихода
и самое главное
4) какой записи прихода соответствует какая запись ухода ?

Резюме: ПОЛНОСТЬ пересмотреть структуру БД ! Нормализовать !
И вот тогда вопросов не будет...:)))



 
Подскажите   (2002-12-19 15:57) [8]

Я даже знаю откуда.Гребанный Парсек наверное ковыряют.Вот там только первая нормальная форма присутсвует.
4.Пункт-записи по порядку поэтому можно догадться что к чему.


 
Johnmen   (2002-12-19 16:25) [9]

>Подскажите (19.12.02 15:57)
>4.Пункт-записи по порядку

По какому такому порядку ? Что есть мера/признак порядка ?


 
KoluChi   (2002-12-19 16:53) [10]

Запрос в данном случае, по-моему, не поможет.
Единственный вариант здесь, как предложил Prooksius © (19.12.02 15:12).
Логичнее все-таки было бы хранить информацию в виде:
таб № | дата/время входа | дата/время выхода |


 
sniknik   (2002-12-19 17:35) [11]

зря напали на человека запрос то несложный получается
SELECT First(Tab) AS TabNo, Format(SUM(IIF(INOUT="вход", -Dat, Dat)) ,"h:m:s") AS [Time] FROM JOBERSTIME GROUP BY TAB

структура
CREATE TABLE JobersTime (Id INT IDENTITY(1,1),Tab int, InOut char(10), Dat DateTime)
а вот на каком SQL пусть догадывается, ну и естественно здесь простейшее, если работник провел на заводе века то это правильно, так ему и надо.


 
KoluChi   (2002-12-19 17:48) [12]

>sniknik © (19.12.02 17:35)
Вариант, конечно, но все недостатки остались (Johnmen © (19.12.02 15:36))
Но последнее слово все-таки за silenser.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.01.16;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.011 c
6-49175
SergeySA
2002-11-15 14:04
2003.01.16
Как запретить доступ к одному IP или группе IP


4-49371
Cosmic
2002-11-29 19:43
2003.01.16
Глобальный хук


4-49358
amo
2002-11-30 14:22
2003.01.16
Помогите с TMouseHookStruct


14-49252
gsu
2002-12-26 18:37
2003.01.16
А нам завтра з/п дадут, на что бы потратить ?


4-49355
maker
2002-11-29 21:00
2003.01.16
Окошко на winapi





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский