- •8.1. Назначение. Основные объекты , предназначенные для организации запросов
- •Выполнение запроса
- •8.2. Язык запросов
- •Поля из вложенных таблиц
- •Псевдонимы источников как/as
- •Запросы к табличным частям
- •Вложенные запросы в списке источников
- •Конструкция соединение...По/join...On
- •Левое внешнее соединение
- •Правое внешнее соединение
- •Полное внешнее соединение
- •Логические операторы и, или, не
- •Параметры в языке запросов
- •Проверка вхождения значения в список (в/in)
- •Проверка ссылочного значения (ссылка/ref)
- •Проверка пустых значений (есть null / is null)
- •Сравнение строк (подобно / like)
- •Упорядочивание по иерархии
- •Упорядочивание во вложенных таблицах
- •Автоупорядочивание /autoorder
- •Агрегатные функции в запросе
- •Общие итоги
- •Итоги по группировкам
- •Итоги по иерархии
- •Несколько итогов в запросе
- •Встроенные функции языка запросов
- •Операции выбора в языке запросов (выбор / case)
- •Приведение типов в языке запросов
- •Литералы и параметры в языке запросов
- •8.4. Обработка результата запроса
- •8.5. Выборка из результата запроса
- •Линейный обход
- •Иерархический обход
- •Обход по группировкам
- •Другие полезные методы
- •8.6. Выгрузка результата запроса
- •8.7. Запросы к регистрам сведений
- •Основная таблица регистра сведений
- •8.8. Запросы к регистрам накопления
- •Основная таблица регистра накопления
- •Сводные таблицы
Сравнение строк (подобно / like)
Ключевое слово ПОДОБНО позволяет сравнить значение строкового выражения, указанного слева от него, со строкой шаблона, указанной справа. Если значение выражения удовлетворяет шаблону, то результатом оператора будет Истина, иначе - Ложь.
Например, следующий запрос выберет всех контрагентов, начинающихся на определенную букву:
ВЫБРАТЬ Наименование ИЗ Справочник.Контрагенты
ГДЕ Наименование ПОДОБНО "М%"
Наименование |
Магазин на ул. Алексеева |
Максимус |
В выражении шаблона был использован служебный символ «%», обозначающий любую последовательность символов. Кроме этого, есть и другие служебные символы для задания выражения шаблона.
Следующие символы в строке шаблона являются служебными и имеют особый смысл:
Служебный символ |
Описание |
% (процент) |
Последовательность, содержащая любое количество произвольных символов (как и было использовано в последнем примере). Например, шаблон «%ый» обозначает любую строку, заканчивающуюся на «ый». |
_ (подчеркивание) |
Один произвольный символ. Например, под шаблон «_аша» подходят Маша, Даша, Саша, Паша и т.д. |
[...] (в квадратных скобках один или несколько символов): |
Любой одиночный символ из перечисленных внутри квадратных скобок. Например, под шаблон «[МД]аша» подходят Маша или Даша. В перечислении могут |
|
встречаться диапазоны, например, А-Я, означающие произвольный символ, входящий в диапазон, включая концы диапазона. |
[^...] (в квадратных скобках значок отрицания (крышечка), за которым следует один или несколько символов |
Любой одиночный символ, кроме тех, которые перечислены следом за значком отрицания. Например, под шаблон «[^МД]аша» Маша и Даша уже не подходят, а подходят Паша и Саша. |
Если необходимо записать один из перечисленных символов в качестве самого себя, а не в качестве служебного символа, то ему должен предшествовать спецсимвол, который определяется в этом же операторе после ключевого слова СПЕЦСИМВОЛ.
Например, следующая строка обозначает любую строку, начинающуюся со знака подчеркивания «_». Так как знак подчеркивания является служебным, то для его использования в качестве именно знака подчеркивания, необходимо его экранировать другим спецсимволом, например «\»:
ВЫБРАТЬ Наименование ИЗ Справочник.СистемныеФайлы
ГДЕ Наименование ПОДОБНО "\_%" СПЕЦСИМВОЛ "\"
Предложение УПОРЯДОЧИТЬ ПО / ORDER BY
Часто результат запроса требуется отсортировать по алфавиту или по числовому полю. В общем случае в качестве значения упорядочивания может быть выражение.
Например, представим список товаров, упорядоченный по алфавиту. При сортировке сначала идут товары, начинающиеся на цифры, затем на английские буквы, а затем на русские буквы:
ВЫБРАТЬ Код, Наименование ИЗ Справочник.Номенклатура
УПОРЯДОЧИТЬ ПО Наименование ВОЗР
Код |
Наименование |
00014 |
1С:Бухгалтерия ПРОФ версия 7.7 |
00016 |
1С:Торговля и Склад 7.7 Проф |
00009 |
Windows XP Home Edition Russian CD |
00010 |
Windows XP Home Edition Russian UPG CD |
00011 |
Windows XP Professional Russian CD |
00041 |
Доставка |
00042 |
Инсталляция ПО |
00018 |
Клавиатура Apple Pro Keyboards |
Сортировка часто применяется с ключевым словом ПЕРВЫЕ. Например, следующий запрос сортирует товары по убыванию цены и показывает 5 самых дорогих товаров:
ВЫБРАТЬ ПЕРВЫЕ 5 Код, Наименование, ЗакупочнаяЦена КАК Цена И3 Справочник.Номенклатура
УПОРЯДОЧИТЬ ПО Цена УБЫВ
Результат запроса показан в таблице:
Код |
Наименование |
Цена |
00035 |
Ноутбук Rover Computers Explorer |
1326 |
00039 |
Сист. блок IBM Net Vista M41 |
1 222 |
00034 |
Ноутбук Rover Computers Navigator KT7 |
1 118 |
00038 |
Сист. блок IBM NetVista A22p |
1 111 |
00032 |
Лазерный принтер HP LaserJet 2200 |
720 |
