Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Знатокам SQL - помогите с запросом!!! / 3 сообщений из 3, страница 1 из 1
25.04.2004, 12:07
    #32495690
Ганчиков
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Знатокам SQL - помогите с запросом!!!
Товарищи, нужна ваша СРОЧНАЯ ПОМОЩЬ!!!

Есть 3 таблицы (с указанием реквизитов):

Магазины (Код магазина|Наименование|Дилер|Район|Адрес|Телефон|),

Детали (Код детали|Наименование|... и т.д.),

Реестр (Код записи|Код магазина|Код детали|Цена)

Нужно написать запрос, выводящий все магазины, торгующие указанной деталью (предположим, 'КОЛЕСО') с указанием цены по которой продается деталь. Вот что я написал:

SELECT Наименование, Дилер, Район, Адрес, Телефон, Реестр.[Цена детали (руб)]
FROM Магазины,Реестр
WHERE Магазины.[Код магазина] = Реестр.[Код магазина] AND Магазины.[Код магазина] IN (SELECT [Код магазина] FROM Реестр WHERE Реестр.[Код детали] IN
(SELECT [Код детали] FROM Детали WHERE Детали.Наименование = 'Колесо'))


Проблема в том, что в этом случае выдаются все записи в таблице Магазины, коды которых указаны в таблице Реестр. А нужно, чтобы только те, где Реестр.Код детали = Детали.Код детали и т.д. (по запросу должно быть понятно...). Очень жду вашей помощи, заранее благодарен, Михаил.

p.s. был получен ответ, содержащий вот такой запрос:

SELECT Наименование, Дилер, Район, Адрес, Телефон, Реестр.[Цена детали (руб)]
FROM Магазины INNER JOIN Реестр ON Магазины.[Код магазина] = Реестр.[Код магазина] INNER JOIN Детали ON Детали.[Код детали] = Реестр.[Код детали] WHERE Детали.Наименование = 'Колесо'


На что Access написал - ошибка синтаксиса. В чем проблема, нельзя использовать двойной INNER JOIN???
ПОМОГИТЕ, КУРСОВИК СДАВАТЬ УЖЕ ЧЕРЕЗ НЕДЕЛЮ!!!
...
Рейтинг: 0 / 0
25.04.2004, 12:27
    #32495695
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Знатокам SQL - помогите с запросом!!!
авторпо запросу должно быть понятно...
Если запрос делает нечто другое, то по запросу не будет понятно.

авторВ чем проблема, нельзя использовать двойной INNER JOIN???
Можно, только надо скобки поставить.

SELECT Наименование, Дилер, Район, Адрес, Телефон, Реестр.[Цена детали (руб)]
FROM ( Магазины INNER JOIN Реестр ON Магазины.[Код магазина] = Реестр.[Код магазина] ) INNER JOIN Детали ON Детали.[Код детали] = Реестр.[Код детали] WHERE Детали.Наименование = 'Колесо'

P.S. В суть задачи я не вдавался.
...
Рейтинг: 0 / 0
25.04.2004, 15:24
    #32495752
Ганчиков
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Знатокам SQL - помогите с запросом!!!
Владимир Саныч, большой THANKS! Все заработало!!!
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Знатокам SQL - помогите с запросом!!! / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]