gen |
Отправлено: 03.02.2007, 13:28 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 36
|
Привет.
Есть необходимость обращаться к DBF через ODBC (Microsoft dBase Driver (*.dbf)). Столкнулся с проблемой в запросе с несколькими внешними JOIN. Запрос такой
SQL | select p.*,k.FLD1, k.FLD2,t.NAME1,t.NAME2 from Tabel1 p LEFT OUTER JOIN Tabel2 k ON (p.KEY=k.KEY) LEFT OUTER JOIN TABEL3 t ON (p.KEY=t.KEY) |
При прямом подключении или через BDE (STANDARD driver dbase) все нормально, а через ODBC — получаю "General SQL error" или (при подлючении посредством ADO) — ошибку "отсутствует оператор в выражении (p.KEY=k.KEY) LEFT OUTER JOIN". Если убрать второй JOIN проблема уходит. Похоже при работе через ODBC несколько другой синтаксис добавления последующих объединений. Может кто знает как?
Предложение обойтись без ODBC не подходит, т.к. запрос выполняется не из сред Borland и там такой выриант подключения единственный.
Спасибо. |
|
gen |
Отправлено: 06.02.2007, 12:38 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 36
|
Пробовал так:
SQL | select p.*,k.FLD1, k.FLD2,t.NAME1,t.NAME2 from {OJ {OJ Tabel1 p LEFT OUTER JOIN Tabel2 k ON (p.KEY=k.KEY)} LEFT OUTER JOIN TABEL3 t ON (p.KEY=t.KEY)} |
Все равно более. чем с одним объединением работать никак не хочет. Придеться пока обходить путем нескольких последовательных запросов. |
|
BlackFox |
Отправлено: 14.02.2007, 13:57 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 8
|
Насколько я помню в этой СУБД нет join'ов
можно использовать объединение в блоке where
|
|