Новые книги

Умение хорошо писать – не врожденный дар, а навык, который можно развивать, подобно многим другим. Книга, которую вы держите в руках, поможет вам приобрести необходимую уверенность и снабдит инструментами, которые понадобятся для совершенствования этого навыка.

Книга будет полезна для всех, кому приходится писать электронные письма, коммерческие предложения, отчеты, доклады и т. п.

На русском языке публикуется впервые.
Очень мало людей понимают, как правильно использовать для бизнеса социальные сети. Между тем это мощный и практически бесплатный инструмент, позволяющий собрать вокруг компании сотни тысяч друзей и получать в месяц до миллиона контактов с реальными и потенциальными клиентами. Потребуется лишь немного времени на создание страницы компании в Facebook и «Вконтакте», дисциплинированность в поддержке коммуникации с ее посетителями и выполнение ряда рекомендаций, которые вы и найдете в этом издании. Автор уже «наступил на грабли» за вас и расскажет об ошибках и удачных решениях.

Эта книга будет наиболее полезной для маркетологов, PR-специалистов, предпринимателей. А также для тех, кто хочет понять, как социальные сети помогают бизнесу.

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

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