Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.05.30;
Скачать: [xml.tar.bz2];

Вниз

Проблема выполнения сложного запроса в IBase   Найти похожие ветки 

 
Maloy   (2002-05-06 12:00) [0]

Всем привет.
Сталкнулся с такой проблемой:
при выполнении сложного запроса возникает ошибка "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 "%_строка_%")

В чем может быть проблема?


 
Alexandr   (2002-05-06 12:05) [1]

1) в параметрах алиаса SQL Query Mode как установлено?
2) Там же LangDriver какой?
3) А запрос вообще-то неоптимальный


 
Johnmen   (2002-05-06 12:07) [2]

Я бы написал так :

Select * from Table1 I
JOIN Table2 K ON I.ID=K.ID
where K.TITLE LIKE "%_строка_%"





 
Maloy   (2002-05-06 12:09) [3]

1. Вообще никак, пустое поле
2. Pdox ANSI Cyrillic
3. НУ отчего-же, очень даже опптимальный, и он примерный, ошибка возникает независимо от такого какое выражение во вложенном запросе LIKE или сравнение, все одно - ошибка


 
Alexandr   (2002-05-06 12:13) [4]

ты бы написал запрос как тебе Johnmen советует.
Работал бы он в десятки раз быстрее.

А вообще-то это ошибка BDE.
Так-что смотри какая у тебя версия BDE, какая версия Interbase.

А лучше используй компоненты с закладки Interbase, или даже FIBPlus

А чего там в Tquery у тебя еще включено?


 
Johnmen   (2002-05-06 12:14) [5]

Неоптимальный !


 
Maloy   (2002-05-06 12:16) [6]

Не ребята, на самом деле запрос такой:

Select * from Table1 I
where
I.ID_2 IN (Select K.ID from Table1 K where K.TITLE LIKE "%_строка_%")

А таблица следующая:
-------------------------
ID | ID_2 | TITLE |
-------------------------\

т.е. некоторые поля в таблице связанны с другими в этой же таблице, и я ищу их по названию TITLE


 
Alexandr   (2002-05-06 12:18) [7]

ну так, какая разница - объедини таблицу саму с собой.


 
Maloy   (2002-05-06 12:20) [8]

BDE v.5.01;
IB 5;


 
Alexandr   (2002-05-06 12:27) [9]

и все-таки.

1) не намудрил-ли ты чего в Tquery, о чем умалчиваешь?
2) Тебе BDE сильно надо?
3) Запрос переделай.


 
Johnmen   (2002-05-06 12:32) [10]

Select * from Table1
where (ID=ID_2) and (TITLE LIKE "%_строка_%")


 
Reindeer Moss Eater   (2002-05-06 12:34) [11]

Убери RequestLive


 
Maloy   (2002-05-06 12:41) [12]

Убери 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?


 
Johnmen   (2002-05-06 12:51) [13]

>Maloy (06.05.02 12:41) : Согласен !
1. Чем не устраивает JOIN ?
2. >>Убери RequestLive не могу<<<
Тогда уж надо кешировать и иметь UpdateSQL...


 
Desdechado   (2002-05-06 14:32) [14]

1. обнови с борланда БДЕ до 5.11
2. SELECT T1.* FROM Table1 T1, Table1 T2 WHERE T1.ID=T2.ID2 and T2.title=...
3. в алиасе поставь лучше SQL query mode=SERVER


 
Reindeer Moss Eater   (2002-05-06 14:39) [15]

... И получишь всё ту же "Capability not supported"


 
Desdechado   (2002-05-06 14:46) [16]

2 Reindeer Moss Eater (06.05.02 14:39)
Чего вдруг?


 
Reindeer Moss Eater   (2002-05-06 14:49) [17]

>Desdechado
У меня БДЕ 5.2, но и оно не поддерживает RequestLive для запроса что привел автор


 
Alexandr   (2002-05-06 14:52) [18]

да. RequestLive не будет. Это точно...


 
Desdechado   (2002-05-06 14:54) [19]

1. результат не всегда будет Live, даже если поставить RequestLive.
2. RequestLive лучше грамотно заменить на CachedUpdates + UpdateSQL. Гораздо гибче и меньше мороки.


 
Desdechado   (2002-05-06 14:57) [20]

2 Reindeer Moss Eater (06.05.02 14:49)
> У меня БДЕ 5.2
Когда его выпустили?


 
Anatoly Podgoretsky   (2002-05-06 15:01) [21]

Reindeer Moss Eater (06.05.02 14:49)
Какая дата/время у файла idapi32.dll


 
Reindeer Moss Eater   (2002-05-06 15:01) [22]

>Desdechado
Если запросить RequestLive (как у автора) то BDE скажет то что оно сказало.
BDE 5.2 выпустили вместе с D6


 
Reindeer Moss Eater   (2002-05-06 15:08) [23]

>Anatoly Podgoretsky ©
idapi32.dll Версия 5.2.0.2 Дата 10.05.2001


 
Anatoly Podgoretsky   (2002-05-06 15:16) [24]

Reindeer Moss Eater (06.05.02 15:08)
Спасибо, а то у меня было подозрение, что они под 5.2 поставляют 5.1
Собаки апгрейд прячут до сих пор



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2002.05.30;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.005 c
1-97215
normal
2002-05-18 07:54
2002.05.30
Динамическое создание TThread


7-97440
Max
2002-03-03 13:35
2002.05.30
Учетная запись


7-97432
moor_38
2002-03-06 12:42
2002.05.30
Работа с файлами


3-97181
kserg@ukr.net
2002-05-08 10:50
2002.05.30
Тип данных decimal - как можно


14-97387
Mike B.
2002-04-18 12:29
2002.05.30
Кранты





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский