Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Подставить значение 0 если нет данных во второй таблице
|
|||
|---|---|---|---|
|
#18+
Alibek B.Отключенные мозги — вот это смешно. А указанная рекомендация — это логично. вы бесполезны ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2018, 11:40 |
|
||
|
Подставить значение 0 если нет данных во второй таблице
|
|||
|---|---|---|---|
|
#18+
Alibek B. это логично. шо ж вы сразу с козырей то? может, есть таки разумное объяснение, чем в данном конкретном случае один вариант "логичен", а второй - нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2018, 11:41 |
|
||
|
Подставить значение 0 если нет данных во второй таблице
|
|||
|---|---|---|---|
|
#18+
Посетительможет, есть таки разумное объяснение, чем в данном конкретном случае один вариант "логичен", а второй - нет? В одном случае isnull применяется ко всем значениям группы, в другом случае isnull применяется только один раз в группе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2018, 11:55 |
|
||
|
Подставить значение 0 если нет данных во второй таблице
|
|||
|---|---|---|---|
|
#18+
Alibek B.Посетительможет, есть таки разумное объяснение, чем в данном конкретном случае один вариант "логичен", а второй - нет? В одном случае isnull применяется ко всем значениям группы, в другом случае isnull применяется только один раз в группе. по вашему "логично" получать всегда сумму 0 когда есть хоть один NULL для необязательного параметра выборки? Чем хуже ваша логика, тем интереснее следствия :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2018, 11:59 |
|
||
|
Подставить значение 0 если нет данных во второй таблице
|
|||
|---|---|---|---|
|
#18+
Alibek B.Посетительможет, есть таки разумное объяснение, чем в данном конкретном случае один вариант "логичен", а второй - нет? В одном случае isnull применяется ко всем значениям группы, в другом случае isnull применяется только один раз в группе.В каком случае результат функции SUM() будет равен NULL? Что будет, если некоторые из слагаемых в SUM() будут равны NULL? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2018, 11:59 |
|
||
|
Подставить значение 0 если нет данных во второй таблице
|
|||
|---|---|---|---|
|
#18+
iapЧто будет, если некоторые из слагаемых в SUM() будут равны NULL? null при суммировании игнорируется. Если все слагаемые null, то и сумма будет null. В этом случае isnull(sum(fld),0)=0. Если использовать sum(isnull(fld,0)), то результат будет такой же. Какая-то разница (и какой-то смысл) мог быть при count, но не при sum. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2018, 12:17 |
|
||
|
Подставить значение 0 если нет данных во второй таблице
|
|||
|---|---|---|---|
|
#18+
мдяб Alibek B. вы планы сравнивали (не визуально)? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2018, 12:20 |
|
||
|
Подставить значение 0 если нет данных во второй таблице
|
|||
|---|---|---|---|
|
#18+
Alibek B.iapЧто будет, если некоторые из слагаемых в SUM() будут равны NULL? null при суммировании игнорируется. Если все слагаемые null, то и сумма будет null. В этом случае isnull(sum(fld),0)=0. Если использовать sum(isnull(fld,0)), то результат будет такой же. Какая-то разница (и какой-то смысл) мог быть при count, но не при sum.Не просто проигнорируются. Вернётся предупреждение, что значения NULL были проигнорированы. И это сообщение не получится подавить. Некоторые приложения такого рода сообщения трактуют как ошибку в запросе. Мне не раз приходилось сталкиваться с этим. Поэтому всегда предпочитаю применять ISNULL(Field,0) внутри SUM(). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2018, 12:25 |
|
||
|
Подставить значение 0 если нет данных во второй таблице
|
|||
|---|---|---|---|
|
#18+
Критерий истины — практика. http://sqlfiddle.com/#!18/bf804/1/0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2018, 12:31 |
|
||
|
Подставить значение 0 если нет данных во второй таблице
|
|||
|---|---|---|---|
|
#18+
iapНе просто проигнорируются. Вернётся предупреждение, что значения NULL были проигнорированы. И это сообщение не получится подавить. Некоторые приложения такого рода сообщения трактуют как ошибку в запросе. ИМХО слишком условная причина. Я с MSSQL работал достаточно давно, но мне сложно представить, чтобы информационные сообщения клиент интерпретировал как ошибку запроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2018, 12:38 |
|
||
|
Подставить значение 0 если нет данных во второй таблице
|
|||
|---|---|---|---|
|
#18+
[quot iap]Alibek B.пропущено... Вернётся предупреждение, что значения NULL были проигнорированы. И это сообщение не получится подавить. эммм Код: sql 1. отменили? Alibek B.Критерий истины — практика. и в чем же истина заключается в вашем примере ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2018, 12:53 |
|
||
|
Подставить значение 0 если нет данных во второй таблице
|
|||
|---|---|---|---|
|
#18+
Alibek B.Критерий истины — практика. http://sqlfiddle.com/#!18/bf804/1/0 и вы своей практикой в итоге получите Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2018, 12:56 |
|
||
|
Подставить значение 0 если нет данных во второй таблице
|
|||
|---|---|---|---|
|
#18+
Посетительи в чем же истина заключается в вашем примере sum(isnull(fld,0)) и isnull(sum(fld),0) дают одинаковый результат для любых int. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2018, 12:56 |
|
||
|
Подставить значение 0 если нет данных во второй таблице
|
|||
|---|---|---|---|
|
#18+
TaPaKи вы своей практикой в итоге получите Код: sql 1. 2. 3. 4. 5. На какие только изощрения не идут люди, лишь бы свою проявленную глупость скрыть. Откуда в примере взялась сложение двух полей? Если isnull(sum(a+b),0), то почему не sum(isnull(a+b),0)? Не нужно так сову на глобус натягивать, ей больно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2018, 12:59 |
|
||
|
Подставить значение 0 если нет данных во второй таблице
|
|||
|---|---|---|---|
|
#18+
Alibek B.TaPaKи вы своей практикой в итоге получите Код: sql 1. 2. 3. 4. 5. На какие только изощрения не идут люди, лишь бы свою проявленную глупость скрыть. Откуда в примере взялась сложение двух полей? Если isnull(sum(a+b),0), то почему не sum(isnull(a+b),0)? Не нужно так сову на глобус натягивать, ей больно. вы есполезны ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2018, 13:00 |
|
||
|
Подставить значение 0 если нет данных во второй таблице
|
|||
|---|---|---|---|
|
#18+
Посетительотменили? Код: sql 1. обязательно во многих случаях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2018, 13:01 |
|
||
|
Подставить значение 0 если нет данных во второй таблице
|
|||
|---|---|---|---|
|
#18+
Alibek B.лишь бы свою проявленную глупость скрытьСам-то умником себя считаешь, а? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2018, 13:02 |
|
||
|
Подставить значение 0 если нет данных во второй таблице
|
|||
|---|---|---|---|
|
#18+
Alibek B.sum(isnull(fld,0)) и isnull(sum(fld),0) дают одинаковый результат для любых int. но разный план исполнения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2018, 13:03 |
|
||
|
Подставить значение 0 если нет данных во второй таблице
|
|||
|---|---|---|---|
|
#18+
Maxxно разный план исполнения Да. И почти наверняка для последнего случая план будет лучше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2018, 13:04 |
|
||
|
Подставить значение 0 если нет данных во второй таблице
|
|||
|---|---|---|---|
|
#18+
Alibek B.Maxxно разный план исполнения Да. И почти наверняка для последнего случая план будет лучше. 1. ето легко проверяеться 2. вы не правы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2018, 13:06 |
|
||
|
Подставить значение 0 если нет данных во второй таблице
|
|||
|---|---|---|---|
|
#18+
У меня MSSQL нет, чтобы проверить. И мне сложно представить, что выгоднее N раз вычислить функцию внутри группы, чем 1 раз снаружи группы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2018, 13:08 |
|
||
|
Подставить значение 0 если нет данных во второй таблице
|
|||
|---|---|---|---|
|
#18+
а ну так Вы балабол батенька, больше вопросов не имею ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2018, 13:10 |
|
||
|
Подставить значение 0 если нет данных во второй таблице
|
|||
|---|---|---|---|
|
#18+
Maxxно разный план исполнения Кстати, а почему? Разве выражения в select хоть как-то влияют на план выполнения? Во всяком случае в Oracle и MySQL нет никакой разницы между sum(nvl) или nvl(sum). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2018, 13:20 |
|
||
|
Подставить значение 0 если нет данных во второй таблице
|
|||
|---|---|---|---|
|
#18+
Alibek B., 1. как сказано - план, или по вашему "игнорирует" по волшебству? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 2. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 3. Warning который спамит во все стороны, для джобов это отдельное веселье 4. Потенциально вы всегда должны помнить что же выбрать ISNULL(SUM()) или SUM(ISNULL()) из за того что внетри суммы. 5. Вы бесполезны ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2018, 13:28 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39656397&tid=1689618]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
53ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
80ms |
get tp. blocked users: |
2ms |
| others: | 258ms |
| total: | 440ms |

| 0 / 0 |
