|
Нужна помошь!
|
|||
---|---|---|---|
#18+
Народ нужна помощь, ситуация следующая: Есть данные в файле Excell М453 ИВАНОВ 04.01.2010 7:09:39 Хозяйственный отдел 108 / 4701 ТОКАРЬ вход М453 ИВАНОВ 04.01.2010 17:09:39 Хозяйственный отдел 108 / 4701 ТОКАРЬ выход М452 ПЕТРОВ 04.01.2010 7:10:39 Хозяйственный отдел 108 / 4702 ТОКАРЬ вход М454 СИДОРОВ 04.01.2010 7:09:39 Хозяйственный отдел 108 / 4703 ТОКАРЬ вход М455 СОЛДАТОВ 04.01.2010 7:09:39 Хозяйственный отдел 108 / 4704 ТОКАРЬ вход М452 ПЕТРОВ 04.01.2010 17:09:39 Хозяйственный отдел 108 / 4702 ТОКАРЬ выход загоняю в таблицу Код: plaintext 1.
М453 ИВАНОВ 04.01.2010 7:09:39 04.01.2010 17:09:39 Хозяйственный отдел 108 / 4701 ТОКАРЬ то есть в одной строке вход и выход сотрудника ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2010, 10:09 |
|
Нужна помошь!
|
|||
---|---|---|---|
#18+
Dime777, для токаря Иванова что в поле Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2010, 18:41 |
|
Нужна помошь!
|
|||
---|---|---|---|
#18+
Тебе надо объединять таблицу саму с собой. Объединять по табельному номеру и для даты выхода брать максимальную из меньших по сравнению с датой входа дату выхода. Примерно так ... Проблема написать ? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2010, 19:19 |
|
Нужна помошь!
|
|||
---|---|---|---|
#18+
Гость_в_Горле для токаря Иванова что в поле Код: plaintext
В поле "0" Dmitry Arefiev Тебе надо объединять таблицу саму с собой. Объединять по табельному номеру и для даты выхода брать максимальную из меньших по сравнению с датой входа дату выхода. Примерно так ... Проблема написать ? Вот как раз с этим и проблема, не могу понять как составить запрос. Уже разбил на 3 таблицы 1 данные по сотрудникам, 2 карта-номер, дата, время_входа. 3-карта-номер, дата, время_выхода. JOIN LEFT присоединяет 2 таблицу, из 3 ничего не берет. (Правда и запрос кривой "select T_PERSONAL join left T_IN join left T_OUT on T_PERSONAL.T_CARD_SN=T_IN.T_CARD_SN AND T_PERSONAL.T_CARD_SN=T_OUT.T_CARD_SN") но всетаки хочется чтобы все данне были в одной таблице а не в трех В SQL я новичок так что сильно не ругаться :( ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2010, 10:30 |
|
Нужна помошь!
|
|||
---|---|---|---|
#18+
Dime777, поробуй такое Код: plaintext 1. 2. 3. 4.
(?) зачем тебе в записи два поля T_TIME_IN и b.T_TIME_OUT если используешь, по сути, только одно из них (при входе только T_TIME_IN, при выходе только b.T_TIME_OUT), а потом потеешь с соединением таблиц. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2010, 17:11 |
|
Нужна помошь!
|
|||
---|---|---|---|
#18+
Гость_в_Горле, к сожалению Ваш пример не работает :( Есть ли еще идеи? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2010, 09:39 |
|
Нужна помошь!
|
|||
---|---|---|---|
#18+
Dime777Гость_в_Горле, к сожалению Ваш пример не работает :( Есть ли еще идеи? как именно "не работает"? 1. выдает ошибку, 2. отрабатывает,но не выдает записей, 3. выдает "не все" записи 4. Ваш вариант интерпретации "не работает" ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2010, 13:43 |
|
Нужна помошь!
|
|||
---|---|---|---|
#18+
2. отрабатывает,но не выдает записей, ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2010, 13:48 |
|
Нужна помошь!
|
|||
---|---|---|---|
#18+
может можно как-то сделать по другому структура таблицы такая CREATE TABLE [JURNAL] ([id] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, [T_TABNUMBER] TEXT NOT NULL, //табельный [T_FIO] TEXT NOT NULL, //фио [T_DATE] TEXT NOT NULL, // дата [T_TIME] TEXT NOT NULL, //вркмя [T_ORGUNIT] TEXT NOT NULL, //подразделение [T_CARD_SN] TEXT, //номер карты [T_IN_OUT] TEXT, // вход или выход [T_JOBSTATE] TEXT NULL) //должность ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2010, 13:56 |
|
Нужна помошь!
|
|||
---|---|---|---|
#18+
нужно чтобы было [T_TABNUMBER] [T_FIO] [T_DATE] [T_TIME(входа)] [T_DATE] [T_TIME(выхода)] [T_ORGUNIT] [T_CARD_SN] [T_IN_OUT] [T_JOBSTATE] ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2010, 14:04 |
|
Нужна помошь!
|
|||
---|---|---|---|
#18+
Dime777, мой запрос и должен был выдать аналгичную структуру а что у тебя выдает такой запрос: Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2010, 14:07 |
|
Нужна помошь!
|
|||
---|---|---|---|
#18+
Разобрался, все заработало. Нужно было написать 'Выход' вместо 'выход' :) или like использовать Гость_в_Горле СПАСИБО! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2010, 16:48 |
|
Нужна помошь!
|
|||
---|---|---|---|
#18+
Dime777Разобрался, все заработало. Нужно было написать 'Выход' вместо 'выход' :) или like использовать Гость_в_Горле СПАСИБО! ... или отказаться от строкового типа в полях-флагах, заменив на Int. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2010, 18:38 |
|
Нужна помошь!
|
|||
---|---|---|---|
#18+
согласен, и поля с датой и временем нужно сделать datetime ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2010, 18:10 |
|
Нужна помошь!
|
|||
---|---|---|---|
#18+
возник еще один вопрос. ситуация такая что сотрудник проходин по карте и иногда время входа задваивается, т.е. М453 ИВАНОВ 04.01.2010 7:09:39 Хозяйственный отдел 108 / 4701 ТОКАРЬ вход М453 ИВАНОВ 04.01.2010 7:09:43 Хозяйственный отдел 108 / 4701 ТОКАРЬ вход М453 ИВАНОВ 04.01.2010 17:09:39 Хозяйственный отдел 108 / 4701 ТОКАРЬ выход М452 ПЕТРОВ 04.01.2010 7:10:39 Хозяйственный отдел 108 / 4702 ТОКАРЬ вход М454 СИДОРОВ 04.01.2010 7:09:39 Хозяйственный отдел 108 / 4703 ТОКАРЬ вход М455 СОЛДАТОВ 04.01.2010 7:09:39 Хозяйственный отдел 108 / 4704 ТОКАРЬ вход М452 ПЕТРОВ 04.01.2010 17:09:39 Хозяйственный отдел 108 / 4702 ТОКАРЬ выход какбы составить запрос чтобы убирать эти задвоения, чтобы за сутки был 1 вход и один выход ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2010, 12:27 |
|
Нужна помошь!
|
|||
---|---|---|---|
#18+
Так это проблема в прикладухе: - Почему записи задваиваются ? - Почему не висит триггер с обеспечением соответствующего бизнес-правила, что если человек не вышел, то он не может войти еще раз ? И т.д. - Если убирать, то какая из двух (или более ?) записей правильная, а какая дубликат ? - И как может быть только один вход в сутки и один выход ? У вас что, армия или тюряга или подводная лодка ? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2010, 12:39 |
|
Нужна помошь!
|
|||
---|---|---|---|
#18+
У нас завод :) а верное это последний вход и выход, т.е. М453 ИВАНОВ 04.01.2010 7:09:39 Хозяйственный отдел 108 / 4701 ТОКАРЬ вход <-вот это убрать М453 ИВАНОВ 04.01.2010 7:09:43 Хозяйственный отдел 108 / 4701 ТОКАРЬ вход ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2010, 13:10 |
|
Нужна помошь!
|
|||
---|---|---|---|
#18+
Dime777, (!) не проверял , - не на чем :( "Лишние" строки ("задвоением" язык назвать не поворачивается) Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2010, 23:43 |
|
Нужна помошь!
|
|||
---|---|---|---|
#18+
Гость_в_ГорлеDime777, (!) не проверял , - не на чем :( "Лишние" строки ("задвоением" язык назвать не поворачивается) Код: plaintext 1. 2. 3.
Ахтунг! Опечатко! Надо: Код: plaintext
ЗЫ: прилушайтесь к замечаниям тов. Dmitry Arefiev насчет проблем(ы) в прикладухе. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2010, 23:48 |
|
Нужна помошь!
|
|||
---|---|---|---|
#18+
В предидущем посте также опечатко . (как стыыыыдноооо) Боюсь даже исправлять, но НАДО: Код: plaintext 1. 2. 3. 4.
Говорила мне мама: "Сынок, не мешай водку с порвейном"... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2010, 23:53 |
|
|
start [/forum/topic.php?fid=54&msg=36465830&tid=2009377]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
78ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 318ms |
total: | 502ms |
0 / 0 |