![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема выполнения сложного запроса в IBase
Maloy © (2002-05-06 12:00:00)Всем привет.
Сталкнулся с такой проблемой:
при выполнении сложного запроса возникает ошибка "Capability not supported" (пер. Совместимость не поддерживается)
Запрос выполняется при помощи TQuery.
Причем если выполнять запрос IBase Windows ISQL то запрос выполняется.
Для примера запрос следущего содержания:
Select * from Table1 I
where
I.ID IN (Select K.ID from Table2 K where K.TITLE LIKE "%_строка_%")
В чем может быть проблема?
Anatoly Podgoretsky (2002-05-06 15:16:00) [1]Reindeer Moss Eater (06.05.02 15:08)
Спасибо, а то у меня было подозрение, что они под 5.2 поставляют 5.1
Собаки апгрейд прячут до сих пор
Reindeer Moss Eater (2002-05-06 15:08:00) [2]>Anatoly Podgoretsky ©
idapi32.dll Версия 5.2.0.2 Дата 10.05.2001
Reindeer Moss Eater (2002-05-06 15:01:00) [3]>Desdechado
Если запросить RequestLive (как у автора) то BDE скажет то что оно сказало.
BDE 5.2 выпустили вместе с D6
Anatoly Podgoretsky (2002-05-06 15:01:00) [4]Reindeer Moss Eater (06.05.02 14:49)
Какая дата/время у файла idapi32.dll
Desdechado (2002-05-06 14:57:00) [5]2 Reindeer Moss Eater (06.05.02 14:49)
> У меня БДЕ 5.2
Когда его выпустили?
Desdechado (2002-05-06 14:54:00) [6]1. результат не всегда будет Live, даже если поставить RequestLive.
2. RequestLive лучше грамотно заменить на CachedUpdates + UpdateSQL. Гораздо гибче и меньше мороки.
Alexandr (2002-05-06 14:52:00) [7]да. RequestLive не будет. Это точно...
Reindeer Moss Eater (2002-05-06 14:49:00) [8]>Desdechado
У меня БДЕ 5.2, но и оно не поддерживает RequestLive для запроса что привел автор
Desdechado (2002-05-06 14:46:00) [9]2 Reindeer Moss Eater (06.05.02 14:39)
Чего вдруг?
Reindeer Moss Eater (2002-05-06 14:39:00) [10]... И получишь всё ту же "Capability not supported"
Desdechado (2002-05-06 14:32:00) [11]1. обнови с борланда БДЕ до 5.11
2. SELECT T1.* FROM Table1 T1, Table1 T2 WHERE T1.ID=T2.ID2 and T2.title=...
3. в алиасе поставь лучше SQL query mode=SERVER
Johnmen (2002-05-06 12:51:00) [12]>Maloy (06.05.02 12:41) : Согласен !
1. Чем не устраивает JOIN ?
2. >>Убери RequestLive не могу<<<
Тогда уж надо кешировать и иметь UpdateSQL...
Maloy (2002-05-06 12:41:00) [13]Убери RequestLive не могу, нужно очень
BDE нужен
Select * from Table1
where (ID=ID_2) and (TITLE LIKE "%_строка_%")
не сработает однозначно:
-------------------------
ID | ID_2 | TITLE |
-------------------------\
1 0 тра-та-та
2 1 тра-та-та2
3 1 тра-та-та3
и где здесь ID=ID2?
Reindeer Moss Eater (2002-05-06 12:34:00) [14]Убери RequestLive
Johnmen (2002-05-06 12:32:00) [15]Select * from Table1
where (ID=ID_2) and (TITLE LIKE "%_строка_%")
Alexandr (2002-05-06 12:27:00) [16]и все-таки.
1) не намудрил-ли ты чего в Tquery, о чем умалчиваешь?
2) Тебе BDE сильно надо?
3) Запрос переделай.
Maloy (2002-05-06 12:20:00) [17]BDE v.5.01;
IB 5;
Alexandr (2002-05-06 12:18:00) [18]ну так, какая разница - объедини таблицу саму с собой.
Maloy (2002-05-06 12:16:00) [19]Не ребята, на самом деле запрос такой:
Select * from Table1I
where
I.ID_2 IN (Select K.ID from Table1K where K.TITLE LIKE "%_строка_%")
А таблица следующая:
-------------------------
ID | ID_2 | TITLE |
-------------------------\
т.е. некоторые поля в таблице связанны с другими в этой же таблице, и я ищу их по названию TITLE
Johnmen (2002-05-06 12:14:00) [20]Неоптимальный !