Вниз
Скачать: CL | DM;

Не удается выполнить запрос с подзапросом   Найти похожие ветки 

 
bmp2006 ©   (2006-08-30 19:50) [0]

Подскажите пожалуйста что не так я делаю? Выполняю в C Builder"e

Так работает:

 Query1->Close();
 Query1->SQL->Clear();
 Query1->SQL->Add("delete from 1.DB where cnum = 1");
 Query1->ExecSQL();


так уже нет:

 Query1->Close();
 Query1->SQL->Clear();
 Query1->SQL->Add("delete from 1.DB where cnum IN (select cnum from   2.DB where account = 12)");
 Query1->ExecSQL();


 
SergP.   (2006-08-30 19:58) [1]

СУБД указывать нада... А то вдруг ты мускул старый юзаешь, а они не поддерживают вложенных запросов...


 
bmp2006 ©   (2006-08-30 20:09) [2]

Работаю в C Builder"e через BDE. Таблицы Paradox.


 
Anatoly Podgoretsky ©   (2006-08-30 20:19) [3]

БДЕ (LocalSQL) не поддерживает вложеные запросы


 
bmp2006 ©   (2006-08-30 20:25) [4]

:( а что делать? как то надо же выкручиваться... :)


 
Anatoly Podgoretsky ©   (2006-08-30 20:38) [5]

Делай два независимых запроса или переходи на другую технологию и долой с Парадокса и как можно быстрее.


 
Виталий Панасенко   (2006-08-30 21:30) [6]


> Anatoly Podgoretsky ©   (30.08.06 20:19) [3]
> БДЕ (LocalSQL) не поддерживает вложеные запросы

Я, конечно, извиняюсь, но это несколько не соответствует истине...


 
Виталий Панасенко   (2006-08-30 21:33) [7]

delete from maindocr where owner_code not in (select owner_code from owner)
у меня  это работает "на ура" под тем же приколистом парадоксом(что приколист, согласен.:-) )))


 
Виталий Панасенко   (2006-08-30 21:37) [8]

delete from maindocr where owner_code not in (select owner_code from owner)
у меня  это работает "на ура" под тем же приколистом парадоксом(что приколист, согласен.:-) )))


 
Виталий Панасенко   (2006-08-30 21:37) [9]

Провайдер - тоже приколист..:-))


 
Anatoly Podgoretsky ©   (2006-08-30 23:35) [10]

SELECT subqueries can be used in SELECT statements, but are limited to the WHERE and HAVING clauses. They cannot be used in the SELECT, FROM, GROUP BY, or ORDER BY clauses of a SELECT statement.


 
Anatoly Podgoretsky ©   (2006-08-30 23:37) [11]

То есть для случая WHERE можно


 
bmp2006 ©   (2006-08-31 12:24) [12]

Вот так заработало:

Query1->SQL->Add("delete from "1.DB" where cnum IN (select cnum from   "2.DB "where account = 12)");



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.05 c
15-1160477050
sergey888
2006-10-10 14:44
2006.10.29
Какой купить автомобиль?


2-1160642469
Fostr
2006-10-12 12:41
2006.10.29
SQL: Parameter not found


15-1160447688
Slider007
2006-10-10 06:34
2006.10.29
С днем рождения ! 10 октября


2-1160760529
anton773
2006-10-13 21:28
2006.10.29
фокус ввода


3-1157096069
Neo Trinitron
2006-09-01 11:34
2006.10.29
Сжатие БД MS Access




   Наверх