Read professional hostgator reviews wrote by customers. Also check out these great inmotion reviews web hosting.

Условия в запросах

Автор: Дмитрий Котельников

В запросах существует два типа условий:

  1. Условие накладывается на записи, выбираемые из информационной базы - секция ГДЕ;
  2. Условие накладывается на выбранные и сгруппированные записи - секция ИМЕЮЩИЕ.

Секция ГДЕ

Пусть у нас есть таблица в которой фиксируются транзакции продажи товаров:

Если мы захотим узнать какой товар покупали оптом (100 и более единиц), то нам нужно будет выполнить следующий запрос:

Результат  запроса

    Запрос.Текст = "
        |ВЫБРАТЬ
        |    Продажи.Товар,
        |    Продажи.Количество
        |ИЗ
        |    Продажи
        |ГДЕ
        |    Продажи.Количество >= 100";

Секция ИМЕЮЩИЕ

Если же мы захотим узнать все товары, которых всего было продано больше 100 штук, то нам надо сначала сгруппировать записи таблицы и наложить на полученные результат условие:

Результат  запроса

    Запрос.Текст = "
        |ВЫБРАТЬ
        |    Продажи.Товар,
        |    СУММА(Продажи.Количество) КАК Количество
        |ИЗ
        |    Продажи
        |
        |СГРУППИРОВАТЬ ПО
        |    Продажи.Товар
        |
        |ИМЕЮЩИЕ
        |    СУММА(Продажи.Количество) >= 100";

 Если бы мы использовали условие ГДЕ, то сначала были бы отсеяны записи по количеству меньше 100, а затем сгруппированы:

Результат  запроса

    Запрос.Текст = "
        |ВЫБРАТЬ
        |    Продажи.Товар,
        |    СУММА(Продажи.Количество) КАК Количество
        |ИЗ
        |    Продажи
        |ГДЕ
        |    Продажи.Количество >= 100
        |
        |СГРУППИРОВАТЬ ПО
        |    Продажи.Товар";

Об этой особенности стоит помнить и всегда иметь ввиду:

Условия в секции ГДЕ отсеивают записи на этапе выборки из таблицы, условия ИМЕЮЩИЕ действуют на уже выбранные записи.

 

← Группировка данных в запросе | Упорядочивание результата запроса →

 

Добавить комментарий


Защитный код
Обновить

© 2012, Котельников Дмитрий. При любом копировании материалов ссылка на сайт-источник zapros-1c-8.ru обязательна.