Visual Basic 6. Руководство разработчика


         

SQL-объединения - часть 3


Поля не выбираются из каждой конкретной таблицы непосредственно. Их полу­чают из ряда внутренних объединений. Первое внутреннее объединение следующее.

[title author] INNER JOIN Titles ON [title author].ISBN =

Titles.ISBN

Это выражение извлекает (и соединяет) каждое название издания с иден тификатором его автора, если ISBN код в обеих таблицах совпадает. В сущности, будет получен идентификатор автора для каждого издания. Назовем это выражение (которое является объектом RecordSet) Title-AuthorIDs. Этот RecordSet помещен в круглые скобки и соединен с другим RecordSet.

(Title-AuthorIDs) INNER JOIN Authors ON [title author].Au_ID =

Authors Au ID

Этот RecordSet соединяет идентификаторы авторов предыдущего RecordSet с фактическими именами авторов. Мы создали RecordSet с именами авторов и названиями изданий. Назовем его Titles-Author. Последняя операция объединения соединяет RecordSet, который содержит имена авторов и изданий, с таблицей Publishers следующим образом.

(Titles-Author) INNER JOIN Publishers ON Titles.PubID =

Publishers.PubID

На этот раз идентификаторы издателей должны совпадать. Результирующий RecordSet содержит названия изданий, авторов и издателей и является источником данных. Последнее ключевое слово в этой SQL-команде — ORDER BY — задает порядок отображения заказов.




Содержание  Назад  Вперед