|
|
|
INNER JOIN в MS Jet, при АДО коннекте
|
|||
|---|---|---|---|
|
#18+
Мануал Чтобы связать несколько предложений 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: Ошибка синтаксиса (пропущен оператор) в выражении запроса ''. Где уже копать... синтаксис верный... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2005, 12:43 |
|
||
|
INNER JOIN в MS Jet, при АДО коннекте
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 17:15 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=17&tid=1353738]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
57ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
| others: | 202ms |
| total: | 361ms |

| 0 / 0 |
