|
|
|
Функция SUM() и Coalesce() как подружить ?
|
|||
|---|---|---|---|
|
#18+
Здравствуйте гуру, помогите со следующим вопросом. Сам в огнептице не шибко силён. Можно ли в жарптице (вер. 2.1.5 Win32) создать алиасы для функции, а конкретно есть необходимость подмены SUM(tra-ta-ta) в ХП автоматом на Coalesce( SUM(tra-ta-ta) , 0) Годится если как то заменить SUM на например ZUM чтобы при этом выполнялась конструкция Coalesce(Sum(tra-ta-ta),0). Скриптом менять во всех ХП SUM на ZUM я научился. Дополнительно о задаче: Есть десятки FDB файлов в 5 филиалах, а предыдущий программер не знал (наверное) что SUM() возвращает Null если нет записей удовлетворяющих условиям в Where, в каждом FDB свой набор ХП и я обнаружил что в некоторых нет coalesce и следовательно результат будет непредсказуемым. Может есть глобальная установка при которой сервер сам присваивает ноль в результат. В основном Sum используются внутри конструкции for select. Заранее спасибо, тем кто высказал своё мнение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2014, 16:44:34 |
|
||
|
Функция SUM() и Coalesce() как подружить ?
|
|||
|---|---|---|---|
|
#18+
AlexSemМожно ли в жарптице (вер. 2.1.5 Win32) создать алиасы для функции, а конкретно есть необходимость подмены SUM(tra-ta-ta) в ХП автоматом на Coalesce( SUM(tra-ta-ta) , 0) нет нельзя ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2014, 16:55:42 |
|
||
|
Функция SUM() и Coalesce() как подружить ?
|
|||
|---|---|---|---|
|
#18+
AlexSem, Придется огорить - для твоей версии - только скриптами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2014, 16:57:05 |
|
||
|
Функция SUM() и Coalesce() как подружить ?
|
|||
|---|---|---|---|
|
#18+
AlexSem а предыдущий программер не знал (наверное) что SUM() возвращает Null если нет записей удовлетворяющих условиям в Where, в каждом FDB свой набор ХП и я обнаружил что в некоторых нет coalesce и следовательно результат будет непредсказуемым. Может есть глобальная установка при которой сервер сам присваивает ноль в результат. В основном Sum используются внутри конструкции for select. Заранее спасибо, тем кто высказал своё мнение. Если нет записей удовлетворяющих условиям в Where то оно ничего не вернёт (если конечно там до кучи нет и COUNT()). И соотвественно если это цикл FOR то он просто "пропустится", если это просто SELECT то в переменной останется предыдущее значение. Так что простая замена может не дать ожидаемого результата ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2014, 16:57:37 |
|
||
|
Функция SUM() и Coalesce() как подружить ?
|
|||
|---|---|---|---|
|
#18+
AlexSemпредыдущий программер не знал (наверное) что SUM() возвращает Null если нет записей удовлетворяющих условиям в WhereЗаписей (кортежей) в этом случае просто не будет, так что одного coalesce тут недостаточно. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2014, 16:59:40 |
|
||
|
Функция SUM() и Coalesce() как подружить ?
|
|||
|---|---|---|---|
|
#18+
m7mЕсли нет записей удовлетворяющих условиям в Where то оно ничего не вернёт (если конечно там до кучи нет и COUNT()).count(*) поможет, если только туда не всунули group by :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2014, 17:02:25 |
|
||
|
Функция SUM() и Coalesce() как подружить ?
|
|||
|---|---|---|---|
|
#18+
Таблоидm7mЕсли нет записей удовлетворяющих условиям в Where то оно ничего не вернёт (если конечно там до кучи нет и COUNT()).count(*) поможет, если только туда не всунули group by :-) Ну да, COUNT() я зря приплел, group by тут более к месту, ибо SELECT sum() ... , без group by всегда вернет одну запись ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2014, 17:36:59 |
|
||
|
Функция SUM() и Coalesce() как подружить ?
|
|||
|---|---|---|---|
|
#18+
Thanx всем, мда, придётся скриптами + аналитику включить и тэги свои ставлять. А можно ещё вопросик, может существует ли в ЖП штатное что-то типа № версии ХП или дата изменения его тела, чтобы по нескольку раз не менять тело ХП. Если нет тогда придётся свои тэги-комментарии вставлять, например типа "--stp_version_control=2014" Всем ещё раз спасибочки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2014, 18:07:56 |
|
||
|
Функция SUM() и Coalesce() как подружить ?
|
|||
|---|---|---|---|
|
#18+
AlexSemсуществует ли в ЖП штатное что-то типа № версии ХП или дата изменения его теладо 2.5 включительно этого нету :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2014, 18:15:50 |
|
||
|
|

start [/forum/topic.php?fid=40&fpage=100&tid=1563782]: |
0ms |
get settings: |
12ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
73ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
| others: | 243ms |
| total: | 427ms |

| 0 / 0 |
