Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.06.2010, 14:50   #1
clbman
Пользователь
 
Регистрация: 10.07.2009
Сообщений: 10
По умолчанию Join(запрос)

Здравствуйте!
Делаю с другом курсовую. И застряли на проблеме, которую преподаватель нам объяснял очень поверхностно.
Объясняю подробно:
У нас есть база данных. В ней 4 таблицы. Одна из них Товары.
Три других: Поставщики, Склады, Категории. У всех таблиц есть столбик ID, который является счетчиком и КЛЮЧЕВЫМ полем.
В таблице товары есть столбики Поставщик, Склад, Категория. И каждый из этих столбиков связан с ID соответствующих таблиц Поставщики, Склады, Категории.
Я прикрепил скрин, чтобы были понятны связи.
Ну так вот. Теперь, благодаря этим связям в таблице Товары, нам нужно сделать запрос из Excel(при помощи join).
Делая обычных запрос, мы получаем таблицу со столбиками Поставщик, Склад, Категория, в строчках которых прописаны ID складов. И при помощи Join нам нужно вместо этих ID вывести соответствующий им Склад/Категорию/Поставщика
Надеюсь, понятно объяснил
Заранее спасибо за помощь!
Изображения
Тип файла: jpg index.JPG (20.8 Кб, 46 просмотров)
clbman вне форума Ответить с цитированием
Старый 14.06.2010, 14:55   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

э-э-э так а по этой схеме данных мастер запросов что выдает?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.06.2010, 14:59   #3
clbman
Пользователь
 
Регистрация: 10.07.2009
Сообщений: 10
По умолчанию

Дело в том, что выводятся данные не через join. А не через join получается, что в таблице товаров заместо названий Категорий, Складов и Поставщиков - выводятся просот их Айдишники. А через Join, нужно чтобы выводились названия.
clbman вне форума Ответить с цитированием
Старый 14.06.2010, 15:03   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Нет стоп. Ты эту схему где достал? По-моему такие скрины только в мастере запросов можно получить, и судя по связям там как раз через JOIN будет построен запрос. Тебе остается просто выбрать нужные для показа поля и получай запрос.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.06.2010, 15:08   #5
clbman
Пользователь
 
Регистрация: 10.07.2009
Сообщений: 10
По умолчанию

Да, верно, эта схема из акцесса. Мы работаем с этой базой через Excel и именно в нём нам нужно получить доступ к этим таблицам и вывести их правильно. У нас ничего нет в экселе. мы просто открываем базу и готовы её считывать, но не знаем как.
clbman вне форума Ответить с цитированием
Старый 14.06.2010, 15:14   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну так ты можешь из акцесса прям текст запроса выдрать?
Его и вставь в Екзелевский получатель данных.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.06.2010, 15:15   #7
clbman
Пользователь
 
Регистрация: 10.07.2009
Сообщений: 10
По умолчанию

А можно узнать, где посмотреть текст запроса?

для этого нужно создавать запрос в режиме конструктора?

Последний раз редактировалось Stilet; 14.06.2010 в 15:26.
clbman вне форума Ответить с цитированием
Старый 14.06.2010, 15:27   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Опция Режим SQL
Изображения
Тип файла: jpg Безымянный.JPG (66.8 Кб, 153 просмотров)
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.06.2010, 15:52   #9
clbman
Пользователь
 
Регистрация: 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.
clbman вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
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