|
|
|
Как в восьмерочном запросе работает функция Максимум с параметром валюта? Ø |
☑ | ||
|---|---|---|---|---|
|
0
Сияющий Асинхраль
17.11.06
✎
15:51
|
Собственно, в ЖКК идет ссылка на параграф "Правила сравнения занчений", который мне так найти и не удалось :-(
|
|||
|
1
Gloom
17.11.06
✎
16:16
|
Правила сравнения значений
Поскольку в языке запросов могут сравниваться значения разных типов, определены правила, по которым выполняется сравнение двух значений. Данные правила используются для: сравнения значений в операторах сравнения; определения максимального и минимального значений в агрегатных функциях МИНИМУМ и МАКСИМУМ; упорядочивания записей результата запроса в соответствии с порядком, заданным в предложении УПОРЯДОЧИТЬ ПО. Если типы значений отличаются друг от друга, то отношения между значениями определяются на основании приоритета типов: тип NULL (самый низший); тип Булево; тип Число; тип Дата; тип Строка; ссылочные типы. Отношения между различными ссылочными типами определяются на основе внутренних ссылочных номеров таблиц, соответствующих тому или иному типу. Если типы данных совпадают, то производится сравнение значений по следующим правилам: у типа Булево значение ИСТИНА больше значения ЛОЖЬ; у типа Число обычные правила сравнения для чисел; у типа Дата более ранние даты меньше более поздних; у типа Строка сравнения производится в соответствии с установленными национальными особенностями базы данных; ссылочные типы сравниваются на основе своих значений (номера записи и т. п.); не допускается сравнение полей неограниченной длины (строки неограниченной длины, ХранилищеЗначения, поле ТипЗначения из таблицы планов видов характеристик). Важно! Любая операция сравнения двух значений, в которой участвует хотя бы одно значение NULL, дает результат, аналогичный значению ЛОЖЬ. |
|||
|
2
Сияющий Асинхраль
17.11.06
✎
16:24
|
Спасибо, к сожалению, это не слишком прояснило ситуацию, зачем в восьмерочных запросах частенько встречаются строчки:
МАКСИМУМ(ВЫБОР КОГДА (УсловияПоставокПоДоговорамКонтрагентовПоНоменклатуре.Цена <> 0 И НЕ УсловияПоставокПоДоговорамКонтрагентовПоНоменклатуре.Цена ЕСТЬ NULL) ТОГДА УсловияПоставокПоДоговорамКонтрагентовПоНоменклатуре.ВалютаЦены ИНАЧЕ ЦеныСрезПоследних.Валюта КОНЕЦ) КАК Валюта, . Зачем валюту запихали в Максимум()? |
|||
|
3
Сияющий Асинхраль
17.11.06
✎
16:30
|
Или Максимум() относится только к ценам, а не к валюте? :-( где торможу?
|
|||
|
4
angro
17.11.06
✎
16:32
|
может там группировки есть, без текста запроса сложно сказать
|
|||
|
5
Сияющий Асинхраль
17.11.06
✎
16:38
|
Копировать сюда запрос смысла не имеет, но это почти во всех запросах в обработке подбора номенклатуры в УТ, например "ЗапросРасходОстаткиИЦеныНоменклатуры".
|
|||
|
6
angro
17.11.06
✎
16:49
|
IMHO просто группировать не захотели
|
|||
|
7
Сияющий Асинхраль
17.11.06
✎
16:55
|
ОК. Попытаюсь осмыслить...
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |