powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / INNER JOIN в MS Jet, при АДО коннекте
2 сообщений из 2, страница 1 из 1
INNER JOIN в MS Jet, при АДО коннекте
    #33069256
Jarad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мануал Чтобы связать несколько предложений ON в инструкции JOIN, используйте следующий синтаксис:

SELECT поля
FROM таблица_1 INNER JOIN таблица_2
ON таблица_1.поле_1 оператор таблица_2.поле_1 AND
ON таблица_1.поле_2 оператор таблица_2.поле_2) OR
ON таблица_1.поле_3 оператор таблица_2.поле_3)];

Операции JOIN могут быть вложенными; в таком случае используйте следующий синтаксис:

SELECT поля
FROM таблица_1 INNER JOIN
(таблица_2 INNER JOIN [( ]таблица_3
[INNER JOIN [( ]таблица_X [INNER JOIN ...)]
ON таблица_3.поле_3 оператор таблица_X.поле_X)]
ON таблица_2.поле_2 оператор таблица_3.поле_3)
ON таблица_1.поле_1 оператор таблица_2.поле_2;



Переписал запрос в соответсвии с мануалом к джету:
SELECT journ.DATE AS DateDoc,
journ.IDDOC, Doc.SP7998,Tab.SP8009
FROM 1SJOURN AS journ INNER JOIN ( DT8012 AS Tab INNER JOIN DH8012 AS Doc ON Doc.IDDOC = Tab.IDDOC)
ON journ.IDDOC = Tab.IDDOC AND
ON journ.LINENO = Tab.LINENO
WHERE (1SJOURN.IDDOCDEF LIKE '%66K%')
AND (1SJOURN.DATE >= #2005-04-01#)
ORDER BY DATE
Вылазит Microsoft JET Database Engine: Ошибка синтаксиса (пропущен оператор) в выражении запроса ''.
Где уже копать... синтаксис верный...
...
Рейтинг: 0 / 0
INNER JOIN в MS Jet, при АДО коннекте
    #33072837
gerss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jarad Мануал Чтобы связать несколько предложений ON в инструкции JOIN, используйте следующий синтаксис:

SELECT поля
FROM таблица_1 INNER JOIN таблица_2
ON таблица_1.поле_1 оператор таблица_2.поле_1 AND
ON таблица_1.поле_2 оператор таблица_2.поле_2) OR
ON таблица_1.поле_3 оператор таблица_2.поле_3)];

Операции JOIN могут быть вложенными; в таком случае используйте следующий синтаксис:

SELECT поля
FROM таблица_1 INNER JOIN
(таблица_2 INNER JOIN [( ]таблица_3
[INNER JOIN [( ]таблица_X [INNER JOIN ...)]
ON таблица_3.поле_3 оператор таблица_X.поле_X)]
ON таблица_2.поле_2 оператор таблица_3.поле_3)
ON таблица_1.поле_1 оператор таблица_2.поле_2;



Переписал запрос в соответсвии с мануалом к джету:
SELECT journ.DATE AS DateDoc,
journ.IDDOC, Doc.SP7998,Tab.SP8009
FROM 1SJOURN AS journ INNER JOIN ( DT8012 AS Tab INNER JOIN DH8012 AS Doc ON Doc.IDDOC = Tab.IDDOC)
ON journ.IDDOC = Tab.IDDOC AND
ON journ.LINENO = Tab.LINENO
WHERE (1SJOURN.IDDOCDEF LIKE '%66K%')
AND (1SJOURN.DATE >= #2005-04-01#)
ORDER BY DATE
Вылазит Microsoft JET Database Engine: Ошибка синтаксиса (пропущен оператор) в выражении запроса ''.
Где уже копать... синтаксис верный...
Похоже, ON после AND лишний, попробуй ON journ.IDDOC = Tab.IDDOC AND
journ.LINENO = Tab.LINENO
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / INNER JOIN в MS Jet, при АДО коннекте
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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