Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Не выполняется запрос через ODBC дряйвер / 5 сообщений из 5, страница 1 из 1
07.12.2005, 18:22:50
    #33423316
Pvase
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не выполняется запрос через ODBC дряйвер
Вот такой запрос:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
SELECT  TabKat6.DESCR As КатегорияКл5,
 TabKat5.DESCR As КатегорияКл4,
 TabKat4.DESCR As КатегорияКл3,
 TabKat3.DESCR As КатегорияКл2,
 TabKat2.DESCR As КатегорияКл1,
 TabKat.SP15984 As СортКатегорияКл,
 TabKat.DESCR As КатегорияКл0,
 TabRegOb.SP6856 As Клиент,
 TabKatTov6.DESCR As КатегорияТов5,
 TabKatTov5.DESCR As КатегорияТов4,
 TabKatTov4.DESCR As КатегорияТов3,
 TabKatTov3.DESCR As КатегорияТов2,
 TabKatTov2.DESCR As КатегорияТов1,
 TabKatTov.SP15984 As СортКатегорияТов,
 TabKatTov.DESCR As КатегорияТов0,
 TabRegOb.SP6854 As Товар,
 TabTov.SP264 AS Единица,
 SUM(TabRegOb.SP6862) As СуммаБезНДС,
 SUM(TabRegOb.SP6863) AS Кво,
 SUM(TabRegOb.SP6864) As Доход

FROM RA6869 As TabRegOb
 LEFT OUTER JOIN SC514 As TabGroupKl ON (TabRegOb.SP6856 = TabGroupKl.PARENTEXT)
 LEFT OUTER JOIN SC520 As TabKat ON (TabGroupKl.SP512 = TabKat.ID)
 LEFT OUTER JOIN SC520 As TabKat2 ON (TabKat2.ID = TabKat.PARENTID)
 LEFT OUTER JOIN SC520 As TabKat3 ON (TabKat3.ID = TabKat2.PARENTID)
 LEFT OUTER JOIN SC520 As TabKat4 ON (TabKat4.ID = TabKat3.PARENTID)
 LEFT OUTER JOIN SC520 As TabKat5 ON (TabKat5.ID = TabKat4.PARENTID)
 LEFT OUTER JOIN SC520 As TabKat6 ON (TabKat6.ID = TabKat5.PARENTID)
 LEFT OUTER JOIN SC517 As TabGroupTov ON (TabRegOb.SP6854 = TabGroupTov.PARENTEXT)
 LEFT OUTER JOIN SC520 As TabKatTov ON (TabGroupTov.SP515 = TabKatTov.ID)
 LEFT OUTER JOIN SC520 As TabKatTov2 ON (TabKatTov2.ID = TabKatTov.PARENTID)
 LEFT OUTER JOIN SC520 As TabKatTov3 ON (TabKatTov3.ID = TabKatTov2.PARENTID)
 LEFT OUTER JOIN SC520 As TabKatTov4 ON (TabKatTov4.ID = TabKatTov3.PARENTID)
 LEFT OUTER JOIN SC520 As TabKatTov5 ON (TabKatTov5.ID = TabKatTov4.PARENTID)
 LEFT OUTER JOIN SC520 As TabKatTov6 ON (TabKatTov6.ID = TabKatTov5.PARENTID)
 INNER JOIN SC289 As TabTov ON (TabRegOb.SP6854 = TabTov.ID)
WHERE (TabRegOb.SP6853 = '     2   ')

GROUP BY TabKat6.DESCR,
 TabKat5.DESCR,
 TabKat4.DESCR,
 TabKat3.DESCR,
 TabKat2.DESCR,
 TabKat.SP15984,
 TabKat.DESCR,
 TabRegOb.SP6856,
 TabKatTov6.DESCR,
 TabKatTov5.DESCR,
 TabKatTov4.DESCR,
 TabKatTov3.DESCR,
 TabKatTov2.DESCR,
 TabKatTov.SP15984,
 TabKatTov.DESCR,
 TabRegOb.SP6854,
 TabTov.SP264
ORDER BY TabKat.SP15984,
 TabKatTov.SP15984
говорит, что "State S1000, native 805, message [Microsoft][ODBC Visual FoxPro Driver]SQL: Too many subqueries."
Я так понял что есть огарничение на количество JOIN-ов. Что делать (не переписывая запрос)?
...
Рейтинг: 0 / 0
07.12.2005, 19:05:53
    #33423423
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не выполняется запрос через ODBC дряйвер
PvaseЯ так понял что есть огарничение на количество JOIN-ов
Да. До версии VFP9 нельзя использовать в одном запросе более 10 таблиц-источников. А поскольку драйвер ODBC выпускался только до версии VFP6, то считай и в VFP9 такое же ограничение.

PvaseЧто делать (не переписывая запрос)?
Не переписывая запрос? Ничего не сделаешь...
...
Рейтинг: 0 / 0
07.12.2005, 19:18:52
    #33423439
Pvase
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не выполняется запрос через ODBC дряйвер
ВладимирМ PvaseЯ так понял что есть огарничение на количество JOIN-ов
Да. До версии VFP9 нельзя использовать в одном запросе более 10 таблиц-источников. А поскольку драйвер ODBC выпускался только до версии VFP6, то считай и в VFP9 такое же ограничение.

PvaseЧто делать (не переписывая запрос)?
Не переписывая запрос? Ничего не сделаешь...

Проблема решается если использовать VFP OLE DB 9.0?
...
Рейтинг: 0 / 0
07.12.2005, 19:29:15
    #33423451
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не выполняется запрос через ODBC дряйвер
PvaseПроблема решается если использовать VFP OLE DB 9.0?
Не знаю. Не пробовал.

Собственно в среде VFP9 уже снято ограничение на количество таблиц-источников. А как оно в OLE DB надо смотреть...
...
Рейтинг: 0 / 0
07.12.2005, 20:13:36
    #33423519
Pvase
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не выполняется запрос через ODBC дряйвер
Проблема решена, надо использовать OLE DB драйвера 9 версии.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Не выполняется запрос через ODBC дряйвер / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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