![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ошибка про множество таблиц в запросе [D5, MSSQL]
big_bugzy © (2003-12-11 15:32:00)
SQL сказал ошибку, говорит в запросе больше 256 таблиц и выполнить его он не может...
это как-нибудь лечится??
big_bugzy (2003-12-11 16:00:00) [21]
курсор локальный, сообщения одинаковые...
Stas (2003-12-11 15:58:00) [22]
ошибку возвращает сервер, дельфи ее только передает ...
Я знаю. Просто если ты используешь Локальный курсор то сообщения могут отличатся.
Stas (2003-12-11 15:57:00) [23]
А может в ней больше 256 табл. или вобщем ?
big_bugzy (2003-12-11 15:57:00) [24]
ошибку возвращает сервер, дельфи ее только передает ...
big_bugzy (2003-12-11 15:56:00) [25]
ой, всетаки есть вьюха...
Stas (2003-12-11 15:56:00) [26]
И Дельфа и Анализер говорят одно и тоже ?
big_bugzy (2003-12-11 15:54:00) [27]
Could not allocate ancillary table for view or function resolution. The maximum number of tables in a query (256) was exceeded.
big_bugzy (2003-12-11 15:54:00) [28]
Аналайзер говорит что таблиц много, больше 256...
big_bugzy (2003-12-11 15:53:00) [29]
в общем, вот начало запоса...
SELECT [NAME], Kol1, Kol2, Kol3, Kol4, Kol5, Kol6, Kol7, Kol8, Kol9, Kol10, Kol
FROM Lk_EvGroup LEFT JOIN
(SELECT COUNT(EVENT_PK) AS Kol1, EVGROUP_ID
FROM Vw_Event LEFT JOIN
Lk_EvGroup ON Vw_Event.EVGROUP_ID = Lk_EvGroup.[ID]
WHERE (Lk_EvGroup.L_TSZ = 1) AND (TSZ = 1)
GROUP BY Vw_Event.EVGROUP_ID) AS Tab1 ON Lk_EvGroup.[ID] = Tab1.EVGROUP_ID LEFT JOIN
(SELECT COUNT(EVENT_PK) AS Kol2, EVGROUP_ID
FROM Vw_Event LEFT JOIN
Lk_EvGroup ON Vw_Event.EVGROUP_ID = Lk_EvGroup.[ID]
WHERE (Lk_EvGroup.L_TSZ = 1) AND (TSZ = 2)
GROUP BY Vw_Event.EVGROUP_ID) AS Tab2 ON Lk_EvGroup.[ID] = Tab2.EVGROUP_ID LEFT JOIN
...
WHERE Lk_EvGroup.L_TSZ = 1
Stas (2003-12-11 15:52:00) [30]
А QueryAnalizer что говорит ?
big_bugzy (2003-12-11 15:50:00) [31]
нет, вьюх нету
Stas (2003-12-11 15:49:00) [32]
А представления есть ?
big_bugzy (2003-12-11 15:47:00) [33]
запрос типа
SELECT * FROM TABLE LEFT JOIN(SELECT COUNT(field),TABLE_ID FROM TABLE2 LEFT JOIN TABLE ON TABLE2.TABLE_ID = TABLE.ID GROUP BY TABLE2.TABLE_ID) AS TAB1 ON TABLE.ID = TAB1.TABLE_ID
LEFT JOIN(SELECT COUNT(field),TABLE_ID FROM TABLE2 LEFT JOIN TABLE ON TABLE2.TABLE_ID = TABLE.ID GROUP BY TABLE2.TABLE_ID) AS TAB2 ON TABLE.ID = TAB2.TABLE_ID ....
примерно так вроде...
этих TAB может быть несколько...
в моем конкретном случае их 10 ,сам запроос получился примерно на 4500 символа...
Johnmen (2003-12-11 15:36:00) [34]
>Покажи запрос, если не жалко!
Вот только этого НЕ НАДО !!!
MV (2003-12-11 15:33:00) [35]
Покажи запрос, если не жалко!
Stas (2003-12-11 15:33:00) [36]
А их действительно больше ?