|
|
|
Разница дат
|
|||
|---|---|---|---|
|
#18+
Люди, помогите пожалуйста: Есть 3 таблицы: Staff [StaffID] Данные по персоналу Registration [RegID] [StaffID] Данные по регирстрации (для приезжих) InOut [RegID] [InOutID] [DateStart] [DateFinish] Даты приезда/отъезда Мне нужно посчитать [DateFinish]-[DateStart] отдельно для каждого [StaffID] по годам, т.е. в результате должна получиться таблица [StaffID] [Sum([DateFinish]-[DateStart]) where year=2002] [Sum([DateFinish]-[DateStart]) where year=2003] и т.д. Проблема в том, что если [DateStart]=01/12/2002, а [DateFinish]=01/02/2003, то должно получиться [StaffID] [Sum([DateFinish]-[DateStart]) where year=2002] >=01/12/2002 and <=31/12/2002 [Sum([DateFinish]-[DateStart]) where year=2003] >=01/01/2003 and <=01/02/2003 Аналогично, [DateFinish] может заходить на следующий год, или быть Null. [DateFinish] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2003, 09:02 |
|
||
|
Разница дат
|
|||
|---|---|---|---|
|
#18+
Мне кажется, что у тебя проблема не с SQL, а с постановкой задачи. Я думаю, что фильтровать по годам имеет смысл по какой-то одной дате, а не по обоим. Ты придумай сначала, че надо то, а потом программируй:-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2003, 09:07 |
|
||
|
Разница дат
|
|||
|---|---|---|---|
|
#18+
C разгону не разобрался:-) Тебе надо, сколько времени человек в этом году был в городе. Для этого надо все даты приезда раньше первого января твоего года заменить на первое января, все даты отъезда позже первого января следующего года заменить на первые января следующего года, выкинуть отрицательные разницы и посчитать. Уф. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2003, 09:12 |
|
||
|
|

start [/forum/topic.php?fid=45&fpage=1730&tid=1678606]: |
0ms |
get settings: |
5ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
36ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 211ms |
| total: | 329ms |

| 0 / 0 |
