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

Вниз

SQL запрос   Найти похожие ветки 

 
toropoff   (2011-11-22 13:45) [0]

подскажите, как оптимальней составить запрос:

-входящие-
kod        код документа

-сроки-
kod        код документа
kodOtv   код  ответственного
data      срок исполнения (записей\сроков может быть несколько)

-исполнения-
kod         код документа
kodOtv    код  ответственного
data       дата последнего исполнения

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

пока мысль

select kod входящие v where
exists (select kod исполнения i where (i.kod=v.kod) and

exists (select сроки s where (s.kod = i.kod) and (s.data < текущая дата) and (s.data > i.data) )
)

как-то всё запутано\перегружено
может как-то проще есть вариант?
простите, SQL только изучаю..


 
toropoff   (2011-11-22 13:48) [1]

пропустил ответственного:

select kod входящие v where
exists (select kod исполнения i where (i.kod=v.kod) and

exists (select сроки s where (s.kod = i.kod) and (s.kodOtv = i.kodOtv) and  (s.data < текущая дата) and (s.data > i.data) )
)


 
Dennis I. Komarov ©   (2011-11-22 13:49) [2]

А откуда такие структуры таблиц?


 
clickmaker ©   (2011-11-22 13:52) [3]

select kod from входящие v
inner join исполнения i on v.kod = i.kod
inner join сроки s on v.kod = s.kod and s.data > i.data
where s.data < getdate()


 
toropoff   (2011-11-22 13:56) [4]

clickmaker ©, огромное спасибо!
буду изучать мысль вашу..


 
toropoff   (2011-11-22 14:00) [5]

Dennis I. Komarov ©, может вы предложите другое что?

есть входящие документы.
к ним нужно привязать ответственных и срок (сроки) исполнения. у каждого ответсвенного могут быть разные сроки.

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


 
Empleado ©   (2011-11-22 14:00) [6]


> буду изучать мысль вашу..

Как-то звучит ругательно :))


 
Anatoly Podgoretsky ©   (2011-11-22 14:06) [7]

> toropoff  (22.11.2011 14:00:05)  [5]

Это MS Project


 
Труп Васи Доброго ©   (2011-11-22 14:19) [8]

Избыточная структура
оставь лучше так (на вскидку)
-сроки-
kod        код документа
kodOtv   код  ответственного
dataS     срок исполнения (для каждого ответственного отдельная запись)
dataI      дата последнего исполнения


 
Dennis I. Komarov ©   (2011-11-22 14:24) [9]


> у каждого ответсвенного могут быть разные сроки.

Это как понимать? Вася может исполнить этот документ до пятницы, а вот Петя уже сегодня?


 
Anatoly Podgoretsky ©   (2011-11-22 14:25) [10]

> Dennis I. Komarov  (22.11.2011 14:24:09)  [9]

Петя провинился, и его надо как то уволить.


 
Dennis I. Komarov ©   (2011-11-22 14:28) [11]

Я бы рассмотрел такую сущность как "Документ" со своими св-ми и состояниями


 
Труп Васи Доброго ©   (2011-11-22 14:32) [12]


> Это как понимать?

Это обычно, ты никогда в большой конторе не работал? В резолютивной части пишут:
Начальнику отдела продаж сделать то-то, срок такой-то
Начальнику СМиТ сделать то-то, срок такой-то
Начальнику службы безопасности сделать то-то, срок такой-то
Контроль возложить на заместителя директора.
Так что в одном документе разные задачи, разные исполнители и разные сроки.


 
Труп Васи Доброго ©   (2011-11-22 14:35) [13]


> Я бы рассмотрел такую сущность как "Документ" со своими
> св-ми и состояниями

Возможно что и такой подход будет применим, но "афтар", как обычно, не описывает саму задачу, а просит "отполировать" его собственные размышления на неизвестную нам тему.


 
Dennis I. Komarov ©   (2011-11-22 15:25) [14]


> Это обычно, ты никогда в большой конторе не работал?

ну-ну...

> В резолютивной части пишут:

DocID {Index}
ExecutorID
CreateDateTime
ExecuteDateTame
LastDateTime
RedirectID
RedirectDateTime
...
по необходимости


 
toropoff   (2011-11-22 17:31) [15]

совершенно верно, документ может быть такого содержания:

- Отделу А 25-го числа каждого месяца предоставить то-то.
- отделу A каждую пятницу предоставить сё-то
- Петрову такого-то числа разработать то-то
- Петрову последний день квартала проанализиолвать сё-то

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


 
Dennis I. Komarov ©   (2011-11-22 17:49) [16]

Еще вариант от главного порождать дополнительные документы с ссылкой на родителя, в результате чего уже дочерние могут приобретать некоторые дополнительные свойства и. т.п. (дерево) В общем, предметная область даст полет фантазии...



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

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

Наверх





Память: 0.48 MB
Время: 0.003 c
2-1321966512
jacksotnik
2011-11-22 16:55
2012.03.11
Картинка в mysql


11-1223651817
WebBrowserHater
2008-10-10 19:16
2012.03.11
Вопрос о KOLWebBrowser


1-1288366250
Vasena
2010-10-29 19:30
2012.03.11
Полиморфизм+"множественное наследование"


1-1286692304
Lex_!
2010-10-10 10:31
2012.03.11
Работа с элементами IE


15-1321899084
Rouse_
2011-11-21 22:11
2012.03.11
Напомните плз автора Парадокса





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский