Новые книги

В книге изложены особенности популярных рекламоносителей, рассмотрены основные принципы медиапланирования. На основе отечественного и зарубежного опыта автор подробно и доступно объясняет, что необходимо для создания оптимальной концепции рекламной кампании, как разработать эффективный план размещения рекламы и какие необходимы методы тестирования результатов. Книга будет полезна сотрудникам рекламных отделов компаний, средств массовой информации и рекламных агентств. Кроме того, книга представляет интерес для студентов и преподавателей дисциплин, связанных с рекламной деятельностью.
Что общего может быть у монахов монастыря Шаолинь и современных менеджеров? Ведь предприятие — это не монастырь, а его сотрудники — не монахи. Ответ совсем прост: мастера Шаолиня обладают тысячелетней мудростью, которая может помочь и руководителям компаний действовать взвешенно и разумно. Из книги вы узнаете, как не выискивать ошибки и не расходовать на это лишнюю энергию, а усиливать собственный потенциал и потенциал сотрудников; вы обретете внутреннюю ясность, которая поможет вам отличать важное от неважного, хладнокровно встречать повседневные вызовы и решительно действовать, когда это необходимо.

Соединение таблицы со своей копией

3.2.7. Соединение таблицы со своей копией

В ряде приложений возникает необходимость одновременной обработки данных какой-либо таблицы и одной или нескольких ее копий, создаваемых на время выполнения запроса.

Например, при создании списков студентов (таблица Студенты) возможен повторный ввод данных о каком-либо студенте с присвоением ему второго номера зачетной книжки. Для выявления таких ошибок можно соединить таблицу Студенты с ее временной копией, установив в WHERE фразе равенство значений всех одноименных столбцов этих таблиц кроме столбцов с номером зачетной книжки (для последних надо установить условие неравенства значений).

Временную копию таблицы можно сформировать, указав имя псевдонима за именем таблицы во фразе FROM. Так, с помощью фразы

FROM Блюда X, Блюда Y, Блюда Z
будут сформированы три копии таблицы Блюда с именами X, Y и Z.

В качестве примера соединения таблицы с ней самой сформируем запрос на вывод таких пар блюд таблицы Блюда, в которых совпадает основа, а название первого блюда пары меньше (по алфавиту), чем номер второго блюда пары. Для этого можно создать запрос с одной копией таблицы Блюда (Копия):

SELECT	Блюдо, Копия.Блюдо, Основа
FROM	Блюда, Блюда Копия
WHERE	Основа = Копия.Основа
AND	Блюдо < Копия.Блюдо;

или двумя ее копиями (Первая и Вторая):

SELECT	Первая.Блюдо, Вторая.Блюдо, Основа
FROM	Блюда Первая, Блюда Вторая
WHERE	Первая.Основа = Вторая.Основа
AND	Первая.Блюдо < Вторая.Блюдо;

Получим результат вида

Первая.БлюдоВторая.БлюдоОснова
Морковь с рисомПомидоры с лукомОвощи
Морковь с рисомСалат летнийОвощи
Морковь с рисомСалат витаминныйОвощи
Помидоры с лукомСалат витаминныйОвощи
Помидоры с лукомСалат летнийОвощи
Салат витаминныйСалат летнийОвощи
БастурмаБефстрогановМясо
БастурмаМясо с гарниромМясо
БефстрогановМясо с гарниромМясо

3.2.6 | Содержание | 3.3.1