|
|
|
Как написать агрегатную функцию (ака Sum() / Max())
|
|||
|---|---|---|---|
|
#18+
Народ! Такая проблема: собираем в Union данные, получаем две похожие строки (цифрами различаются - sum() = получили, что нада), вешаем на него Group By. но вот беда: есть текстовое поле Примечание, которое в одном запросе всегда пустое, а в другом местами есть текст - ессно, группировка на нем и спотыкается. пример: есть: ОргА 120 0 Примечание:за товар ОргА 0 230 <null> нада после группировки: ОргА 120 230 Примечание:за товар А группировка не пройдет, null мешается. Какую функцию применить, чтобы в итоге после агрегирования получить 1 строку и с примечанием? Или как написать агрегатную фцию, которая это смогет? Спасибо всем! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2003, 15:10 |
|
||
|
Как написать агрегатную функцию (ака Sum() / Max())
|
|||
|---|---|---|---|
|
#18+
Max - это не то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2003, 15:15 |
|
||
|
Как написать агрегатную функцию (ака Sum() / Max())
|
|||
|---|---|---|---|
|
#18+
первое ,что испытано. Вроде получается *то*, теперь ищу подтверждения БЕЗОШИБОЧНОСТИ ее отрабатывания (типа спотык на Ё и т.д...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2003, 15:30 |
|
||
|
Как написать агрегатную функцию (ака Sum() / Max())
|
|||
|---|---|---|---|
|
#18+
Null всегда будет меньше, чем любое другое значение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2003, 15:40 |
|
||
|
Как написать агрегатную функцию (ака Sum() / Max())
|
|||
|---|---|---|---|
|
#18+
>Null всегда будет меньше, чем любое другое значение. это для функции Max а для Min наоборот Null всегда будет БОЛЬШЕ, чем любое другое значение. видимо Null просто не учитываются при вычислении этих функций. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2003, 15:47 |
|
||
|
Как написать агрегатную функцию (ака Sum() / Max())
|
|||
|---|---|---|---|
|
#18+
The DMin and DMax functions ignore Null values in the field referenced by expr. However, if no record satisfies criteria or if domain contains no records, the DMin and DMax functions return a Null. А на агрегаты сиквела хэлп не работает... У кого есть поделитесь, а? А2000 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2003, 15:50 |
|
||
|
Как написать агрегатную функцию (ака Sum() / Max())
|
|||
|---|---|---|---|
|
#18+
Да, действительно. Я сейчас проверил живьем. Min и Max в роли агрегатных функций игнорируют Null'ы. Таким образом, если есть данные такого вида: 1 2 Null 4 5 - то Min и Max вернут соответственно 1 и 5. Однако со строками надо соблюдать осторожность. То, что визуально выглядит как Null, может оказаться на самом деле стрингом нулевой длины, так что Min'ом все-таки лучше не пользоваться. Из строк "ААА" и Null - Max вернет "ААА". Из строк "ААА" и "" - Max вернет "ААА". Из строк "ААА" и Null - Min вернет "ААА". Из строк "ААА" и "" - Min вернет "". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2003, 22:51 |
|
||
|
Как написать агрегатную функцию (ака Sum() / Max())
|
|||
|---|---|---|---|
|
#18+
удивительно, и sum игнорирует пустые значения. нет бы выдал null (неопределенность), встретив хоть один null... ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2003, 22:59 |
|
||
|
Как написать агрегатную функцию (ака Sum() / Max())
|
|||
|---|---|---|---|
|
#18+
2 Alexus12 Попробуй такой вариант Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2003, 00:22 |
|
||
|
Как написать агрегатную функцию (ака Sum() / Max())
|
|||
|---|---|---|---|
|
#18+
Если тебе не нужны агрегативные функции, а только уникальные результаты, попробуй SELECT DISTINCT. Не забудь в UNION вывести уникальный ключ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2003, 00:44 |
|
||
|
Как написать агрегатную функцию (ака Sum() / Max())
|
|||
|---|---|---|---|
|
#18+
Забыл сказать, попробой использовать Nz(Поле,'') или Nz(Поле,0) вместо Поле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2003, 00:45 |
|
||
|
Как написать агрегатную функцию (ака Sum() / Max())
|
|||
|---|---|---|---|
|
#18+
>удивительно, и sum игнорирует пустые значения. Видимо, он живет по образу и подобию этого: DMin and DMax functions ignore Null values in the field referenced by expr. However, if no record satisfies criteria or if domain contains no records, the DMin and DMax functions return a Null. >Если тебе не нужны агрегативные функции Нужны - см. пост1. - иначе получу бред 2 VIG: отдельно суммы, отдельно ненуллы, затем джойн? да, такое прокатить. но пока пользую Max() - до первого глюка так сказать ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2003, 13:35 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32274370&tid=1679249]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 330ms |

| 0 / 0 |
