Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Null value eliminated in aggregate function
|
|||
|---|---|---|---|
|
#18+
ASA 9.0.1 Есть табличка с такими данными: Код: plaintext 1. 2. 3. 4. 5. Делаю: select RowId, sum(N1), sum(N2) from t group by RowId order by RowId; Получаю ошибку: Код: plaintext 1. 2. 3. 4. 5. А всего-то хотелось получить результат вида Код: plaintext 1. 2. 3. Где я торможу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2005, 21:02 |
|
||
|
Null value eliminated in aggregate function
|
|||
|---|---|---|---|
|
#18+
BOL: ASA Database Administration Guide/Database Options/Alphabetical list of options/ANSINULL option... With ANSINULL ON, the evaluation of any aggregate function, except COUNT(*), on an expression that contains at least one NULL value, may generate the warning null value eliminated in aggregate function (SQLSTATE=01003). With ANSINULL OFF, this warning does not appear. но у меня по любому аггрегации работают на NULL поля без этой ошибки при любой установке значения данной опции. Так что я тоже ничего не понимаю, разве что кроме того, что у меня 9.0.2.3044 :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2005, 23:31 |
|
||
|
Null value eliminated in aggregate function
|
|||
|---|---|---|---|
|
#18+
ASCRUSТак что я тоже ничего не понимаю, разве что кроме того, что у меня 9.0.2.3044 :) Сейчас проверил на 9.0.2.2451 - ANSINULL=ON варнинг вылазит. Но мне его в Off ставить нежелательно, у меня много где троичная логика используется... Вот пример в чистом виде: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. а теперь select RowId, sum(N1), sum(N2) from #a group by RowId order by RowId; Получаем нужную таблицу и этот варнинг :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2005, 01:54 |
|
||
|
Null value eliminated in aggregate function
|
|||
|---|---|---|---|
|
#18+
Можно так: select RowId, sum(if N1 is null then 0 else N1 endif), sum(N2) from t group by RowId order by RowId; Но, тогда получишь 0 вместо Null, если Null - принципиально, то примерно так select RowId, sum(if N1 is null then 123456789 else N1 endif) as sum_N1, sum(N2), if sum_N1=123456789 then null else sum_N1 endif from t group by RowId order by RowId; В конце концов, можешь создать процедурку, где перехватишь все предупреждения :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2005, 07:13 |
|
||
|
Null value eliminated in aggregate function
|
|||
|---|---|---|---|
|
#18+
White Owl select RowId, sum(N1), sum(N2) from t group by RowId order by RowId; Получаю ошибку: Код: plaintext 1. 2. 3. 4. 5. Это не Error, это Warning :). Его, по идее, нужно игнорировать (или не игнорировать :)) на клиенте. Если ходишь через ODBC - там есть пимпа Suppress fetch warnings, которая этот Warning подавит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2005, 11:46 |
|
||
|
Null value eliminated in aggregate function
|
|||
|---|---|---|---|
|
#18+
old_joyselect RowId, sum(if N1 is null then 0 else N1 endif), sum(N2) from t group by RowId order by RowId; Но, тогда получишь 0 вместо Null, если Null - принципиально, то примерно так Вообще-то, есть такая функция - isnull(). sum(isnull(N1,0)) и все :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2005, 18:25 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=32962119&tid=2013785]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 264ms |
| total: | 411ms |

| 0 / 0 |
