К статьям

Условный оператор в запросе

1 мин


Описание

Оператор ВЫБОР используется в случаях когда нам необходимо различное поведение в зависимости от возникших условий.

Примеры

К примеру, если значение поля Дата выпадает на день программиста (256-ой день в году), или на 31-ое декабря то выведем соответствующее поздравление. А если на любое другое число, выведем что нибудь нейтральное.

ВЫБРАТЬ

    ВЫБОР

        КОГДА ДЕНЬГОДА(&ТекущаяДата) = 256

            ТОГДА "Поздравляю с днем программиста!"

        КОГДА МЕСЯЦ(&ТекущаяДата) = 12

                И ДЕНЬ(&ТекущаяДата) = 31

            ТОГДА "Поздравляю с наступающим новым годом!"

        ИНАЧЕ "Сегодня нет праздника"

    КОНЕЦ КАК Сообщение

Синтаксис оператора ВЫБОР:

        ВЫБОР 
                КОГДА <ЛогическоеВыражение> ТОГДА <ВыражениеДляИстина>
                ИНАЧЕ <ВыражениеДляЛожь>
        КОНЕЦ

В рамках операции ВЫБОР может быть описано какое угодно количество логических условий "КОГДА .... ТОГДА...." в том числе и вложенных.

Так же существует и второй вариант синтаксиса, когда мы хотим проверить элементы только на равенство, не используя других функций и операторов сравнения.

Мы можем указать сравниваемое значение прямо после слова "ВЫБОР", а в когда помещать сами значения. К примеру у нас есть значение количества в таблице, и мы хотим с помощью запроса определить, что количество товара равно 1 и пометить эти строки в результате запроса: 

ВЫБРАТЬ

    Товары.Товар КАК Товар,

    Товары.Количество КАК Количество,

    ВЫБОР Товары.Количество

        КОГДА 1

            ТОГДА "Вы заказали всего 1 товар"

        ИНАЧЕ "Спасибо за заказ!"

    КОНЕЦ КАК Сообщение

ИЗ

    Товары КАК Товары 

В результате мы можем получить следующий набор данных:

Товар Количество Сообщение
Апельсин 1 Вы заказали всего 1 товар
Яблоко 20 Спасибо за заказ!
Роза 13 Спасибо за заказ!

Задачи на эту тему: