Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Вложенный SQL запрос в ADO


Автор: Пикачу 28.4.2008, 21:15
Доброго времени всем.

Есть два запроса для заполнения комбобоксов

Первый комбобокс заполняется значениями которые попадают под условие.
(Работает всегда, нормально) 
Код

SQL.Text:='select C.cell_data from Cell C, Artic A where (A.sybid=C.id) and A.kode=:parKode)';
Parameters.ParamByName('parKode').Value:=frmPrih.txtPArtic.Text;



Второй должен заполнится значениями которые не попали в первом случае. (Запрос это одна строка)
Код

SQL.Text:='select C.cell_data as CellNo from Cell C 
where not cell_data=(select C.cell_data from Cell C, Artic A where (A.sybid=C.id) and A.kode=:parKode)';
Parameters.ParamByName('parKode').Value:=frmPrih.txtPArtic.Text;


Так вот когда возвращаемое значение подзапросом  единственное, то запрос работает нормально,  но если   подзапрос возращает два или более значений то получаю ошибку "Текущая запись отсутствует".

Как можно это решить.
Спасибо.

Автор: Frees 29.4.2008, 07:05
Код

select C.cell_data as CellNo from Cell C 
where not cell_data IN (select C.cell_data from Cell C, Artic A where (A.sybid=C.id) and A.kode=:parKode)

вместо = надо IN

Автор: Пикачу 29.4.2008, 20:53
Цитата(Frees @ 29.4.2008,  07:05)
вместо = надо IN



Frees спасибо.

 smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)