Вниз
Скачать: CL | DM;

Запрос на выборку из дву таблиц   Найти похожие ветки 

 
Iehbr   (2006-05-30 14:50) [0]

Уважаемые Мастера, делаю в А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 14:57) [1]

... OR Zayavki.Ispolnitel = Nms.[No]


 
Iehbr   (2006-05-30 15:07) [2]

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];

Так что-ли? По моему не будет работать...


 
Iehbr   (2006-05-30 15:10) [3]

Я имею ввиду, что мне надо отобразить таблицу вида:
Дата | Автор| Заявка | Исполнитель|


 
Sergey13 ©   (2006-05-30 15:15) [4]

С синтаксисом скорее всего напутал (ибо не знаю аксеса), но как то так.

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:36) [5]

Сергей, спасибо, но предложенная тобой конструкция не работает :(

Я  сам ни в акцессе ни в зуб ногой и SQL с утра начал изучать.


 
Iehbr   (2006-05-30 15:40) [6]

Есть у меня предположение, что нужно писать подчиненный запрос.
Может наведете на мысль?


 
Sergey13 ©   (2006-05-30 16:00) [7]

2 [5] Iehbr   (30.05.06 15:36)
>предложенная тобой конструкция не работает :(
Как не работает? Просто молчит или совсем выключает комп? 8-)
Или все таки ошибки выдает? Какие? Может там запятую какую нибудь добавить?


 
Iehbr   (2006-05-30 16:06) [8]

ошибка синтаксиса (пропущен оператор) в выражении запроса "Zayavki.Autor=Nms.[No]
INNER JOIN Nms Nms2 ON Zayavki.Ispolnitel = Nms.[No]"


 
MsGuns ©   (2006-05-30 16:33) [9]

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:51) [10]


> 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


 
sniknik ©   (2006-05-30 17:13) [11]

> Так что-ли? По моему не будет работать...
с чего бы это? работать будет, и выдаст даже больше чем ожидаеш ... (как заказывал -> "еще и")

> По крайней мере в справке по JETSQL ничего подобного нет.
> И ничего не говорится о последовательном применении INNER JOIN
> Вот выдержка из справки
> ....
есть, справку надо просто полностью читать, а не выдржками, прямо на той же странице откуда это взял есть пример... 3 примера - простой, с AND/OR в условии, и  вложенный.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.029 c
2-1153414657
XbI
2006-07-20 20:57
2006.08.06
массив


2-1152785917
Layner
2006-07-13 14:18
2006.08.06
Как восстановить программу зная ее THandle, из другой программы?


3-1148752070
Гарик
2006-05-27 21:47
2006.08.06
Динамическое создание БД


3-1149058635
AGGRESSOR
2006-05-31 10:57
2006.08.06
Как программно изменить текст запроса Access?


15-1152588760
vajo
2006-07-11 07:32
2006.08.06
50-терабайтные диски




   Наверх