|
Условия в запрсое
|
|||
---|---|---|---|
#18+
Всем кто зашел в эту тему - доброго времени суток! Имею следующий вопрос: имеется запрос вида (BD Firebird): Код: sql 1. 2. 3. 4. 5. 6.
Столбец dt (timestamp) записывает время с турникета (вход и выход), события входа и выхода распознаются как pobj_n=45 или 47 (в зависимости от входа или выхода). Запрос отрабатывает, логика тоже срабатывает верно - выдает самое раннее время и самое позднее (по столбцу dt). а вопрос в следующем: как можно реализовать чтобы min(l.dt) бралось из списка при условии что pobj_n=45, а max(l.dt) из списка pobj_n=47. ( разделить время по событиям) Перепробовал и case и iif - не помогло. Может подскажите куда копать? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2017, 11:00 |
|
Условия в запрсое
|
|||
---|---|---|---|
#18+
denzl.ast, А какая версия FB? Если типа 2.0 (что часто ещё есть в СКУД), то новые возможности FB не предлагать? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2017, 11:16 |
|
Условия в запрсое
|
|||
---|---|---|---|
#18+
denzl.astПерепробовал и case и iif - не помоглоКак пробовал ? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2017, 11:19 |
|
Условия в запрсое
|
|||
---|---|---|---|
#18+
KreatorXXI - версия 2.5, стоит скуд от КОДОС. Предлагай все, что SQL захавает) hvlad - IIF(max(l.dt)=min(l.dt),'Не выходил-а',max(l.dt)) - был такой вариант, но он исключает одинаковое время в столбцах ( если время входа есть, а времени выхода нет, то значения одинаковые - чего быть не должно) с CASE дельного ничего не вышло, с CASE запрос не разу не заработал - хотя все по мануалам. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2017, 11:39 |
|
Условия в запрсое
|
|||
---|---|---|---|
#18+
denzl.ast, ну вот словесно описываешь одно, а пробуешь другое Код: sql 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2017, 11:43 |
|
Условия в запрсое
|
|||
---|---|---|---|
#18+
По идеи нужно всего лишь объеденить select c.f_name,c.s_name,c.job,min(l.dt) from LOGTAB l join clitab c on c.num_kd=l.num_kd where l.pobj_n='45' and cast(l.dt as date)='$op' and c.depar like '%Салон%' group by l.num_kd,c.f_name,c.depar,c.job,c.s_name order by c.f_name; + select min(l.dt)... where l.pobj_n='47' объединение через UNION тож не подошло или может мои лыжи просто не едут =( ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2017, 11:43 |
|
Условия в запрсое
|
|||
---|---|---|---|
#18+
Симонов Денис - спасибо тебе тёска, ты лучший!) всем спасибо за участие. тему можно закрывать. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2017, 11:47 |
|
Условия в запрсое
|
|||
---|---|---|---|
#18+
Симонов Денис Код: sql 1.
Всегда предпочитаю стандартный CASE: Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2017, 11:50 |
|
Условия в запрсое
|
|||
---|---|---|---|
#18+
hvlad, Плюсую. Тоже IIF не люблю, почему-то. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2017, 13:22 |
|
Условия в запрсое
|
|||
---|---|---|---|
#18+
потому что это перлоподобное бл*дство. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2017, 13:32 |
|
|
start [/forum/topic.php?fid=40&msg=39499651&tid=1561470]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
131ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 233ms |
0 / 0 |