-Поиск по дневнику

Поиск сообщений в rss_sql_ru_access_programming

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 16.03.2006
Записей:
Комментариев:
Написано: 4


Внешнее присоединение LEFT JOIN

Вторник, 20 Сентября 2016 г. 20:29 + в цитатник
Здравствуйте, уважаемые форумчане!

Суть такова.
Есть база с таблицами работ- Work, материалов-Mat и привязки материалов к определенным работам -WorkMat. Связь между Mat и Work через WorkMat многие-ко-многим. Т.е. для некоторых работ есть материалы и любой материал может использоваться для разных работ. Пример в Access вложен с примером моего пробного запроса.

Поля Работы (Work) - ID_Work(ключ), Name, Union
Поля Материалов (Mat) - ID_Mat(ключ), Name, Union
Связывающая таблица (WorkMat) - ID_Work(ключ), ID_Mat(ключ), Rashod (Расход материала для конкретной работы)

Связь один-ко-многим Work.ID_Work -> WorkMat.ID_Work
Связь один-ко-многим Mat.ID_Mat -> WorkMat.ID_Mat

Нужно сделать запрос, который бы брал таблицу материалов (Mat) и присоединял к ней столбцы из таблицы WorkMat. Но нужно, чтобы в присоединямых столбцах брались только записи для ОДНОЙ работы, т.е. нужен фильтр, например WorkMat.ID_Work=2

Запрос пока в таком виде:

SELECT Mat.*, WorkMat.*
FROM Mat LEFT JOIN WorkMat ON Mat.ID_Mat = WorkMat.ID_Mat
ORDER BY Mat.[Name];


что и как мне нужно прикрутить, что бы заработало в Access. Пробовал после JOIN подзапрос сделать, но, видимо что-то неправильно делаю.

http://www.sql.ru/forum/1231570/vneshnee-prisoedinenie-left-join


 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку