|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.05.2007, 17:10 | #1 |
Форумчанин
Регистрация: 24.03.2007
Сообщений: 314
|
Опять запрос, помогите плиз
update teacher set cvalification=cvalification+1
where teacher.idteacher=children.idteache r and children.idchild=(select idchild from konkurs where place in ('1','2','3','4','5') - оно не работает..... Мне надо чтобы оно просматривало таблицу "конкурс", если находит значения 1,2,3,4,5 поля place, то брало соответствующее значение konkurs.idchild и по нему выбирало значение children.idteacher, а потом соответствующее поле teacher.cvalification увеличивало на 1 Вот моя БД в Интербейсе |
22.05.2007, 09:46 | #2 |
Форумчанин Подтвердите свой е-майл
Регистрация: 01.12.2006
Сообщений: 514
|
ты попробуй сделать в цикле, сначала отрабатываеш этот запрос select idchild from konkurs where place in ('1','2','3','4','5')
while not (select idchild from konkurs where place in ('1','2','3','4','5').eof do begin (update teacher set cvalification=cvalification+1 where teacher.idteacher=children.idteache r and children.idchild=(select idchild from konkurs where place in ('1','2','3','4','5').fieldbyname(' idchild')) (select idchild from konkurs where place in ('1','2','3','4','5').next end; это я в общех чертах описал, у меня такое обычно работает
Пишу на Delphi за еду
|
22.05.2007, 11:15 | #3 |
Форумчанин
Регистрация: 16.04.2007
Сообщений: 298
|
Конечно такой запрос не будет работать
update teacher set cvalification=cvalification+1 where teacher.idteacher=children.idteache r and children.idchild=(select idchild from konkurs where place in ('1','2','3','4','5')) Зачем ставить равно? В скобках запрос же явно выдает больше чем одну запись. Заменяется все таким образом update teacher set cvalification=cvalification+1 where teacher.idteacher=children.idteache r and children.idchild IN (select idchild from konkurs where place in ('1','2','3','4','5')) Вот так должно работать
Не надо ничего усложнять. Все достаточно тривиально.
|
23.05.2007, 15:54 | #4 |
Форумчанин
Регистрация: 24.03.2007
Сообщений: 314
|
Спасибо, действительно работает ))) У меня именно с этим и была проблема, что в скобках много записей, а как исправить я не знала.
А теперь еще один совсем уже глупый вопрос: как теперь этот запрос подключить в Делфи? А то у меня параметрические запросы получается подключать, а без параметров, когда в него ничего передавать не надо не получается ))) |
24.05.2007, 23:12 | #5 |
Форумчанин
Регистрация: 24.03.2007
Сообщений: 314
|
Это я тоже сделала!!!! Осталось последнее - там где-то темка была.... )))
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
помогите исправить запрос | Yuran | БД в Delphi | 6 | 26.07.2008 14:14 |
Помогите написать SQL запрос | Vedrus | SQL, базы данных | 1 | 22.07.2008 13:21 |
И опять мэйлы.. Опять... | Pusher | PHP | 6 | 28.06.2008 03:08 |
Помогите, запрос на добавление | DisaMS | Microsoft Office Access | 5 | 10.06.2008 12:39 |
Помогите бедному студенту(опять Delphi)... | budarin | Помощь студентам | 1 | 12.05.2008 23:46 |