Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

Если между таблицами, на основе которых строится запрос или представление, в базе данных отсутствует связь, то при добавлении таблиц к источнику данных на экране отобразится окно настройки связей Join Condition (рис. 118).

Рис. 118 – Окно настройки связей JoinCondition

В верхней части диалогового окна Join Condition размещены два раскрывающихся списка, содержащие поля, которые можно использовать для объединения таблиц13. Ниже расположен переключатель Type of join (Тип объединения), содержащий опции, определяющие тип создаваемой между таблицами связи. Назначение опций описано в табл. 16.

Таблица 16. Назначение опций диалогового окна Join Condition

Опция

Тип создаваемой связи14

Inner join (Внутреннее объединение)15

Создает объединение, в котором выбираются только те записи, которые содержат совпадающие значения в полях связи

Left join (Объединение слева)

Создает объединение, в котором выбираются все записи из левой таблицы, а также записи из правой таблицы, значения поля связи которого совпадают со значениями поля связи левой таблицы

Right join (Объединение справа)

Создает объединение, в котором выбираются все записи из правой таблицы, а также записи из левой таблицы, значения поля связи которого совпадают со значениями поля связи правой таблицы

Full join (Полное объединение)

Создает объединение, в котором выбираются все записи из правой и левой таблиц

ЗАДАНИЕ 27. Создание запросов на основе одной таблицы

Точное совпадение значений полей

НЕ нашли? Не то? Что вы ищете?

В результате выполнения задания будут созданы запросы:

Disk_vyd – список дисков, находящихся в прокате

Disk_god – список дисков, выпущенных в 2013 или 2014 году

В папке с проектом DVD создайте папку Query, которую будут сохраняться созданные запросы. Запустите проект dvd. pjx. Разработайте запрос, который выводит информацию о дисках, выданных в прокат. Для этого в проекте на вкладке Data выделите объект Queries и нажмите кнопку New. В появляющемся окне выберите вариант New Query, в результате чего будет запущен конструктор запросовQuery Disigner. Первоначально поверх окна конструктора располагается окно выбора источника данных для запроса. Выберите в нем таблицу Disk. Работа с конструктором запросов выполняется в несколько этапов с помощью вкладок нижней части окна: вкладка Fields (рис. 119) – выбор полей таблиц базы данных, которые будут отображаться при запуске запроса; добавьте поля, представленные на рис. 119, используя двойной щелчок левой кнопки мыши или кнопку Add;

Рис. 119 – Вкладка Fields конструктора запросов

вкладка Join – используется для коррекции связи между таблицами, на основе которых создается запрос; поскольку в данном задании запрос будет создан на основе одной таблицы, то эта вкладка остается неиспользованной и пустой; вкладка Filter (рис. 120) – используется для выборки данных с помощью запроса; здесь следует выбрать поля и наложить на них условия отбора; установите условия отбора, как представлено на рис. 120: данные параметры обозначают «поле v_prok содержит значение истина»; чтобы изменить условие на «поле v_prok содержит значение истина», нажмите на кнопку в столбце Not16(обратите внимание на изменение вида кнопки);

Рис. 120 – Вкладка Filter конструктора запросов

вкладка Order By (рис. 121) – используется для настройки сортировки отображаемой информации; установите параметры сортировки, как на рис. 121, для сортировки дисков по названию;

Рис. 121 – Вкладка Order By конструктора запросов

вкладка Group By – используется для группировки данных, выводящихся в результате запроса; поскольку в данном задании запрос не требует группировки, то эта вкладка останется пустой; вкладка Miscellaneouse– позволяет задать дополнительные условия, такие как признак выборки повторяющихся значений, количество или процент выбора данных; поскольку в данном задании дополнительные параметры не используются, то эта вкладка останется пустой. Теперь запрос создан. Выполните его: вызовите контекстное меню свободной области конструктора и выберите в нем команду Run Query. Убедитесь, что на экране результат отображается в виде, представленном на рис. 12217.

Рис. 122 – Результат запроса Disk_vyd

Обратите внимание – это и есть стандартный результат запроса в режиме Browse. Здесь представлена информация о дисках, которые были выданыв прокат (v_prok=F).

Закройте таблицу-результат. При необходимости отобразите панель инструментов Query Designer (View → Toolbars →Query Designer), и нажмите на ней кнопку QueryDestination, в результате чего откроется окно выбора, куда выводить результаты запроса. На данный момент действует режим Browse. Нажмите кнопку Table (рис. 123). С помощью кнопки выберите в качестве места сохранения папку Query и введите имя таблицы disk_vydl. Нажмите кнопку ОК.

Рис. 123–Окно Query Destination для варианта Table

Снова выполните команду Run Query контекстного меню. Обратите внимание, что никакого результата на экране нет. Это произошло из-за последней настройки – результат запроса сохранился в таблицу. Откройте папку Query и убедитесь, что в ней появилась таблица с именем disk_vyd. dbf18. Снова нажмите кнопку и измените вариант вывода результатов запроса на Screen.  Обратите внимание, что результат отображается непосредственно в окне FoxPro. Снова нажмите кнопку и измените вариант вывода результатов запроса на Browse. Закройте конструктор запроса и в появляющемся окне запроса на сохранение нажмите кнопку Yes, выберите папку для сохранения Query и введите имя запроса Disk_vyd. Обратите внимание, что в проекте в узле Queries появился созданный запрос. Действуя аналогично, создайте запрос Disk_god, отображающий информацию о дисках выпущенных в 2013 или 2014 году, данные должны быть отсортированы в порядке возрастания года выпуска: поля для отображения: код диска, название, год; условия отбора представлены на рис. 124:

Рис. 124 – Условия отбора для запроса Disk_god

содержимое вкладки Order By представлено на рис. 125:

Рис. 125 – Условия сортировки для запроса Disk_god

Запустите созданный запрос и убедитесь в правильности его создания. Обратите внимание на заголовки столбцов – они совпадают с именами соответствующих полей таблицы базы данных. Заголовки столбцов можно поменять, используя SQL-код запроса. Откройте запрос Disk_god в конструкторе (кнопка Modify). Вызовите на свободной части запроса контекстное меню и выберите команду View SQL (или нажмите кнопку панели инструментов). В результате выполнения команды появится окно, представленное на рис. 12619.

Рис. 126 – Окно SQL-кода запроса Disk_god

Чтобы изменить подписи столбцов, отредактируйте код следующим образом (рис. 127)20:

Рис. 127 – Отредактированный SQL-код запроса Disk_god

Завершите работу с проектом.

Значения полей лежат в пределах указанного диапазона

В результате выполнения задания будет создан запрос Disk_zalog – список дисков, залог за прокат которых находится в пределах от 280 до 350 рублей.

Запустите проект dvd. pjx. Создайте запрос Disk_zalog, отображающий информацию о дисках, залог по которым располагается в пределах от 280 до 350 рублей, данные должны быть отсортированы в порядке убывания залога: поля для отображения: код диска, название, залог; условия отбора представлены на рис. 128:

Рис. 128 – Условия отбора для запроса Disk_zalog

содержимое вкладки Order By представлено на рис. 129:

Рис. 129 – Условия сортировки для запроса Disk_zalog

Запустите созданный запрос и убедитесь в правильности его создания. Завершите работу с проектом.

Выбор полей, не удовлетворяющих заданному условию

В результате выполнения задания будет создан запрос Disk_nal – список дисков в наличии.

Запустите проект dvd. pjx. Создайте запрос Disk_nal, отображающий сведения о дисках в наличии: поля для отображения: код диска, название, в прокате, год выпуска; условие отбора представлено на рис. 130 (обратите внимание на кнопку столбца Not– это и есть способ отобразить значения, не удовлетворяющие условию v_prok=.T., т. е. заданное условие позволяет отобразить информацию о дисках, не находящихся в прокате):

Рис. 130 – Условие отбора для запроса Disk_nal

Сохраните созданный запрос под именем Disk_nal и проверьте правильность его выполнения. Завершите работу с проектом.

ЗАДАНИЕ 28. Создание локального представления на основе нескольких таблиц

В результате выполнения задания будет создано представление, содержащее информацию и дисках, соответствующих жанрах и категориях дисков. Такой набор информации не хранится ни в одной таблице баз данных полностью, поэтому локальное представление будет создано на основе трех таблиц: Disk, Ganr, Kategor. В дальнейшем это представление будет использовано для создания прайс-листа дисков DVD-проката.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28