|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
14.06.2010, 14:50 | #1 |
Пользователь
Регистрация: 10.07.2009
Сообщений: 10
|
Join(запрос)
Здравствуйте!
Делаю с другом курсовую. И застряли на проблеме, которую преподаватель нам объяснял очень поверхностно. Объясняю подробно: У нас есть база данных. В ней 4 таблицы. Одна из них Товары. Три других: Поставщики, Склады, Категории. У всех таблиц есть столбик ID, который является счетчиком и КЛЮЧЕВЫМ полем. В таблице товары есть столбики Поставщик, Склад, Категория. И каждый из этих столбиков связан с ID соответствующих таблиц Поставщики, Склады, Категории. Я прикрепил скрин, чтобы были понятны связи. Ну так вот. Теперь, благодаря этим связям в таблице Товары, нам нужно сделать запрос из Excel(при помощи join). Делая обычных запрос, мы получаем таблицу со столбиками Поставщик, Склад, Категория, в строчках которых прописаны ID складов. И при помощи Join нам нужно вместо этих ID вывести соответствующий им Склад/Категорию/Поставщика Надеюсь, понятно объяснил Заранее спасибо за помощь! |
14.06.2010, 14:55 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
э-э-э так а по этой схеме данных мастер запросов что выдает?
I'm learning to live...
|
14.06.2010, 14:59 | #3 |
Пользователь
Регистрация: 10.07.2009
Сообщений: 10
|
Дело в том, что выводятся данные не через join. А не через join получается, что в таблице товаров заместо названий Категорий, Складов и Поставщиков - выводятся просот их Айдишники. А через Join, нужно чтобы выводились названия.
|
14.06.2010, 15:03 | #4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Нет стоп. Ты эту схему где достал? По-моему такие скрины только в мастере запросов можно получить, и судя по связям там как раз через JOIN будет построен запрос. Тебе остается просто выбрать нужные для показа поля и получай запрос.
I'm learning to live...
|
14.06.2010, 15:08 | #5 |
Пользователь
Регистрация: 10.07.2009
Сообщений: 10
|
Да, верно, эта схема из акцесса. Мы работаем с этой базой через Excel и именно в нём нам нужно получить доступ к этим таблицам и вывести их правильно. У нас ничего нет в экселе. мы просто открываем базу и готовы её считывать, но не знаем как.
|
14.06.2010, 15:14 | #6 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Ну так ты можешь из акцесса прям текст запроса выдрать?
Его и вставь в Екзелевский получатель данных.
I'm learning to live...
|
14.06.2010, 15:15 | #7 |
Пользователь
Регистрация: 10.07.2009
Сообщений: 10
|
А можно узнать, где посмотреть текст запроса?
для этого нужно создавать запрос в режиме конструктора? Последний раз редактировалось Stilet; 14.06.2010 в 15:26. |
14.06.2010, 15:27 | #8 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Опция Режим SQL
I'm learning to live...
|
14.06.2010, 15:52 | #9 |
Пользователь
Регистрация: 10.07.2009
Сообщений: 10
|
Спасибо, Я вставил такой запрос в Excel, но пишет про пунктуационную ошибку "ошибочное или порпущенное зарегестрированное слово слс аргумент в инструкции SELECT или неверная пунктуация "
sSQL = "SELECT FROM ((Категории INNER JOIN Поставщики ON Категории.ID = Поставщики.ID) INNER JOIN Склады ON Категории.ID = Склады.ID) INNER JOIN Товары ON (Склады.ID = Товары.Склад) AND (Поставщики.ID = Товары.Поставщик) AND (Категории.ID = Товары.Категория);" db.Execute sSQL Вот такой запрос получился Последний раз редактировалось Stilet; 14.06.2010 в 16:38. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
UNION JOIN | tools | SQL, базы данных | 0 | 05.06.2010 18:20 |
LEFT JOIN | acidcool | SQL, базы данных | 12 | 20.08.2009 19:23 |
join в sql | tsergey | Помощь студентам | 1 | 12.02.2009 13:10 |
join | wall66 | SQL, базы данных | 2 | 10.11.2008 16:44 |
не получается запрос с inner join :mad: | Только_Учусь | SQL, базы данных | 16 | 21.07.2008 09:40 |