![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запрос на выборку из дву таблиц [D6, Access]
Iehbr © (2006-05-30 14:50:00)Уважаемые Мастера, делаю в Аccess такой запрос:
SELECT Zayavki.DateA, Nms.Name, Zayavki.Zayava
FROM Zayavki INNER JOIN Nms ON Zayavki.Autor=Nms.[No];
как мне сделать так, чтобы в этом же запросе выбрать еще и
Nms.Name по условию Zayavki.Ispolnitel = Nms.[No]
sniknik (2006-05-30 17:13:00) [1]> Так что-ли? По моему не будет работать...
с чего бы это? работать будет, и выдаст даже больше чем ожидаеш ... (как заказывал -> "еще и")
> По крайней мере в справке по JETSQL ничего подобного нет.
> И ничего не говорится о последовательном применении INNER JOIN
> Вот выдержка из справки
> ....
есть, справку надо просто полностью читать, а не выдржками, прямо на той же странице откуда это взял есть пример... 3 примера - простой, с AND/OR в условии, и вложенный.
Iehbr (2006-05-30 16:51:00) [2]
> SELECT Zayavki.DateA, Nms1.Name, Zayavki.Zayava, Nms2.Name
> AS Ispolnit
> FROM (Zayavki INNER JOIN Nms Nms1 ON Zayavki.Autor=Nms.[No])
>
> INNER JOIN Nms Nms2 ON Zayavki.Ispolnitel = Nms.[No];
Ошибка синтаксиса в операции JOIN.
У меня подозрения, что в JETSQL нельзя писать JOIN Nms Nms2
По крайней мере в справке по JETSQL ничего подобного нет.
И ничего не говорится о последовательном применении INNER JOIN
Вот выдержка из справки
Синтаксис
FROM таблица_1 INNER JOIN таблица_2 ON таблица_1.поле_1 оператор таблица_2.поле_2
MsGuns (2006-05-30 16:33:00) [3]SELECT Zayavki.DateA, Nms1.Name, Zayavki.Zayava, Nms2.Name AS Ispolnit
FROM (Zayavki INNER JOIN Nms Nms1 ON Zayavki.Autor=Nms.[No])
INNER JOIN Nms Nms2 ON Zayavki.Ispolnitel = Nms.[No];
Iehbr (2006-05-30 16:06:00) [4]ошибка синтаксиса (пропущен оператор) в выражении запроса 'Zayavki.Autor=Nms.[No]
INNER JOIN Nms Nms2 ON Zayavki.Ispolnitel = Nms.[No]'
Sergey13 (2006-05-30 16:00:00) [5]2 [5] Iehbr (30.05.06 15:36)
>предложенная тобой конструкция не работает :(
Как не работает? Просто молчит или совсем выключает комп? 8-)
Или все таки ошибки выдает? Какие? Может там запятую какую нибудь добавить?
Iehbr (2006-05-30 15:40:00) [6]Есть у меня предположение, что нужно писать подчиненный запрос.
Может наведете на мысль?
Iehbr (2006-05-30 15:36:00) [7]Сергей, спасибо, но предложенная тобой конструкция не работает :(
Я сам ни в акцессе ни в зуб ногой и SQL с утра начал изучать.
Sergey13 (2006-05-30 15:15:00) [8]С синтаксисом скорее всего напутал (ибо не знаю аксеса), но как то так.
SELECT Zayavki.DateA, Nms1.Name, Zayavki.Zayava, Nms2.Name AS Ispolnit
FROM Zayavki
INNER JOIN Nms Nms1 ON Zayavki.Autor=Nms.[No]
INNER JOIN Nms Nms2 ON Zayavki.Ispolnitel = Nms.[No];
Iehbr (2006-05-30 15:10:00) [9]Я имею ввиду, что мне надо отобразить таблицу вида:
Дата | Автор| Заявка | Исполнитель|
Iehbr (2006-05-30 15:07:00) [10]SELECT Zayavki.DateA, Nms.Name, Zayavki.Zayava, Nms.Name AS Ispolnit
FROM Zayavki INNER JOIN Nms ON Zayavki.Autor=Nms.[No] OR Zayavki.Ispolnitel = Nms.[No];
Так что-ли? По моему не будет работать...
sniknik (2006-05-30 14:57:00) [11]... OR Zayavki.Ispolnitel = Nms.[No]