Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.09;
Скачать: CL | DM;

Вниз

Никак не могу составить SQL запрос, помогите пожалуйста.   Найти похожие ветки 

 
al11 ©   (2003-05-19 17:21) [0]

Есть две звязанные таблицы:
Человек (Поля: НомерЗаписи, ФИО),
Приказ (Поля: НомерЗаписи, ВидПриказа, ДатаПриказа, Дата, НомерЗаписиЧеловек),
Если ВидПриказа=1 то Приказ о приеме, а Дата-дата приема
Если Вид приказа=2 то Приказ об увольнении, а Дата - дата увольнения
Связаны таблицы по полям ( один Человек ко многим Приказам):
Человек.НомерЗаписи=Приказ.НомерЗаписиЧеловек

Нужно произвести такую выборку:
Подсчитать общее количество Человек (записей таблицы Человек) работающих на дату XX.XX.XXXX.
(т. е. принятых на работу (человек м.б. и несколько раз принят на работу) до указ срока и
не уволеных до него (так же несколько раз м. б. уволен) ).


 
Al11 ©   (2003-05-19 17:22) [1]



 
Al11 ©   (2003-05-19 17:55) [2]



 
Mike Kouzmine ©   (2003-05-19 17:57) [3]

Тебе надо связать эту таблицу по НомерЗаписиЧеловек саму с собой, и выбрать только те записи, где Дата в 1 больше, чкм дата в 2 (ВидПриказа)


 
Johnmen ©   (2003-05-19 18:15) [4]

Примерно так :

SELECT COUNT(*) FROM <Человеки> A
JOIN ON <Приказы> B ON B.<НомерЗаписиЧеловек>=A.<НомерЗаписи>
WHERE 1=(SELECT C.<вид приказа> FROM <Приказы> C
WHERE (A.<НомерЗаписи>=C.<НомерЗаписиЧеловек>) AND
(C.<ДатаПриказа>=(SELECT MAX(D.<ДатаПриказа>)
FROM <Приказы> D
WHERE D.<ДатаПриказа><="XX.XX.XXXX")))



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

Текущий архив: 2003.06.09;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.021 c
1-26564
ююю
2003-05-28 11:35
2003.06.09
Как убрать кнопку с панели задач при запуске модальной формы из..


1-26499
solo
2003-05-29 22:40
2003.06.09
Спецификация языка ObjectPascal.


14-26652
Knight
2003-05-23 23:10
2003.06.09
Буржуйские рассылки


1-26582
Dmitry_Bondarev
2003-05-28 14:33
2003.06.09
Как сделать разноцветные строки в ListBox?


3-26331
Фагот
2003-05-18 18:23
2003.06.09
IB