Вниз
Скачать: 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.965 c
15-1160147122
z80maniac
2006-10-06 19:05
2006.10.29
Прямой доступ к памяти в WinXP


3-1156354971
Garyck
2006-08-23 21:42
2006.10.29
Ошибка ADO


2-1160833820
sss1
2006-10-14 17:50
2006.10.29
запуск программы 1 раз


1-1158744914
Старик
2006-09-20 13:35
2006.10.29
Почтовый клиент по умолчанию


3-1157344772
sias
2006-09-04 08:39
2006.10.29
Хранение почты eml в базе mssql




   Наверх