Главная страница
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.026 c
1-26503
Somofly
2003-05-30 03:59
2003.06.09
TStringGrid


1-26435
maxfiles
2003-05-29 04:07
2003.06.09
OnClick в MenuItem


3-26350
Димос
2003-05-19 11:25
2003.06.09
Что такое


3-26390
Man
2003-05-21 14:14
2003.06.09
небазовые поля в датасете


3-26349
AlexAvz
2003-05-20 13:43
2003.06.09
Перенос БД на другой компьютер