|
|
|
Дописать запрос
|
|||
|---|---|---|---|
|
#18+
есть таблицы EMP (ID, NAME, DOLZHNOST, START_WORK, NOTES) EMP_VOCATION (ID, ID_EMP, START_VOC, END_VOC) Вывести в таблицу всех сотрудников, которые могут пойти в отпуск, т.е. проработали 6 мес. И больше. SELECT EMP.NAME, EMP.DOLZHNOST, EMP.START_WORK, EMP_VOCATION.START_VOC FROM EMP LEFT JOIN EMP_VOCATION ON EMP.ID = EMP_VOCATION.ID_EMP WHERE (((DateAdd("m",6,[EMP]![START_WORK]))<Date())) ORDER BY EMP.NAME написал так, но еще остается добавить условие DateAdd(m,6,Max(END_VOC))<Date() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2007, 17:46:51 |
|
||
|
Дописать запрос
|
|||
|---|---|---|---|
|
#18+
Tayo Насколько я поняла, есть две категории сотрудников: – те, кто еще ни разу не были в отпуске и среди них нужно выбрать тех, кто проработал с момента устройства больше 6 мес. – те, кто уже был в отпуске, и возможно не раз, и среди них нужно выбрать тех, у кого дата возвращения из последнего отпуска отстоит от текущей более чем на 6 мес. Опять же, насколько я поняла, в Вашем случае Access ругается на попытку “... использования статистической функции в предложении WHERE” Я вынесла функцию Max в подчиненный запрос Query_MAX_END_VOC. Правда я не поняла, зачем Вы включили в запрос поле EMP_VOCATION.START_VOC. Логичней на мой взгляд было бы включить поле EMP_VOCATION.END_VOC. В моем варианте в запрос включено поле END_VOC – дата окончания последнего отпуска. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2007, 20:38:18 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=34461953&tid=2183127]: |
0ms |
get settings: |
6ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
53ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
22ms |
get tp. blocked users: |
1ms |
| others: | 225ms |
| total: | 326ms |

| 0 / 0 |
