Разработка приложений баз данных в Delphi. Шейкер Т.Д. - 93 стр.

UptoLike

Составители: 

93
Пример 4.1. Вывести сведения о сотрудниках (имя, фамилия) и оформ-
ленных ими в декабре 1994 г. заказах (дата продажи, стоимость, оплачено).
Фамилия и имя сотрудника приведены в таблице employee, а дата прода-
жи, стоимость заказа и сведения об оплатев orders. Таблицы employee и
orders связаны отношением «один-ко-многим» по полю
EmptNo.
Каждому сотруднику, сведения о котором приведены в таблице employee,
может соответствовать несколько записей в таблице orders в зависимости от то-
го, сколько заказов оформил этот сотрудник.
Анализ искомых полей показывает, что для решения задачи следует со-
единить данные из таблиц orders и employee так, чтобы результирующий набор
данных содержал информацию
из обеих таблиц. Новый набор данных должен
содержать пять полей:
FirstName, LastName из таблицы employee и
SaleDate, ItemsTotal, AmountPaid из таблицы orders.
По условию задачи надо вывести сведения не о всех заказах, а только о
тех, которые были заключены в декабре 1994 г. Следовательно, надо сформу-
лировать условие отбора. Соединение таблиц orders и employee с дополнитель-
ным условием отбора строк может быть выполнено единственным SQL-
запросом, который выглядит так:
SELECT FirstName,LastName,SaleDate,ItemsTotal,AmountPaid
FROM employee,orders
WHERE SaleDate>"30.11.94" AND SaleDate<="31.12.94"
AND employee.EmpNo=orders.EmpNo
Этот запрос состоит из нескольких различных частей. После слова SE-
LECT
идёт список полей, которые надо включить в набор данных. Так как име-
на полей разные, то можно не уточнять, какое поле к какой таблице относится.
Выражение
FROM объявляет, что используются две таблицы, одна называется
orders, а другая employee.
В выражении
WHERE определены два условия:
условие соединения
employee.EmpNo=orders.EmpNo. Указаны поля
связи для двух таблиц. Некоторые серверы могут вернуть
DataSet,
      Пример 4.1. Вывести сведения о сотрудниках (имя, фамилия) и оформ-
ленных ими в декабре 1994 г. заказах (дата продажи, стоимость, оплачено).
      Фамилия и имя сотрудника приведены в таблице employee, а дата прода-
жи, стоимость заказа и сведения об оплате – в orders. Таблицы employee и
orders связаны отношением «один-ко-многим» по полю EmptNo.
      Каждому сотруднику, сведения о котором приведены в таблице employee,
может соответствовать несколько записей в таблице orders в зависимости от то-
го, сколько заказов оформил этот сотрудник.
      Анализ искомых полей показывает, что для решения задачи следует со-
единить данные из таблиц orders и employee так, чтобы результирующий набор
данных содержал информацию из обеих таблиц. Новый набор данных должен
содержать пять полей: FirstName, LastName из таблицы employee и
SaleDate, ItemsTotal, AmountPaid из таблицы orders.
      По условию задачи надо вывести сведения не о всех заказах, а только о
тех, которые были заключены в декабре 1994 г. Следовательно, надо сформу-
лировать условие отбора. Соединение таблиц orders и employee с дополнитель-
ным условием отбора строк может быть выполнено единственным SQL-
запросом, который выглядит так:
SELECT FirstName,LastName,SaleDate,ItemsTotal,AmountPaid
FROM employee,orders
WHERE SaleDate>"30.11.94" AND SaleDate<="31.12.94"
         AND employee.EmpNo=orders.EmpNo
      Этот запрос состоит из нескольких различных частей. После слова SE-
LECT идёт список полей, которые надо включить в набор данных. Так как име-
на полей разные, то можно не уточнять, какое поле к какой таблице относится.
Выражение FROM объявляет, что используются две таблицы, одна называется
orders, а другая employee.
      В выражении WHERE определены два условия:
      – условие соединения employee.EmpNo=orders.EmpNo. Указаны поля
         связи для двух таблиц. Некоторые серверы могут вернуть DataSet,


                                     93