Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.05.2007, 20:41   #1
yulia
Форумчанин
 
Аватар для yulia
 
Регистрация: 24.03.2007
Сообщений: 314
По умолчанию Запрос неправильно работает...

У меня есть запрос:
update children set idteacher=(SELECT apply4.hren from apply4 where apply4.hch=:idchild)
WHERE children.idchild=:idchild;

Где:
apply4 - это:
CREATE VIEW "APPLY4" (
"HREN",
"HCH" ) AS
SELECT teacher.idteacher, apply3.idchild from teacher,apply3
where Teacher.idteacher=apply3.idteacher AND Teacher.cvalification = (SELECT MAX(apply3.cvalification) from apply3 Where idchild=apply3.idchild);

Где:
apply3 - это:

CREATE VIEW "APPLY3" (
"IDTEACHER",
"CVALIFICATION",
"IDCHILD" )
AS
SELECT Teacher.IDTEACHER, teacher.cvalification, children.idchild
FROM Teacher, Children
WHERE (children.plastika*teacher.plastika + children.gibkost*teacher.gibkost +
children.jump*teacher.jump + children.sluh*teacher.sluh )>=general;

Этот запрос я вызываю из Делфи:
DShkola.Children.RecNo:=1;
for i:=1 to DShkola.Children.RecordCount do begin
j:=DShkola.Children.Fields[0].AsInteger;
with DShkola.Query5 do begin
if active then close;
ParamByName('idchild').AsInteger:=j ;
DShkola.Query5.ExecSQL;
DShkola.Children.Refresh;
end;
DShkola.Children.Next;

Вообщем он работает, но не так как мне надо. Мне надо, чтобы это все для каждого ребенка из таблицы Children высчитывало вот то условие, которое сравнивается с general каждого преподавателя. И если оно выполняется, то id преподавателя заносится в соответствующее поле ребенка. А если таких преподавателей несколько, то заносится тот, у которого больше квалификация.
А оно мне для первого ребенка считает правильно, заносит ему нужного преподавателя, а вот всех остальных детей он уже сравнивает с тем преподавателем и если условие выполняется, то заносит его, а если нет, то вообще ничего не заносит.

Помогите плиз найти ошибку или сделать как-то по-другому..

yulia вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задача работает неправильно, подскажите! IvanIvan Помощь студентам 1 26.05.2008 22:21
Скрипт неправильно работает aleksa76 JavaScript, Ajax 4 21.05.2008 17:47
Не работает MS-SQL-запрос pkv БД в Delphi 7 01.11.2007 14:32
Не работает SQL запрос EVG44 БД в Delphi 4 21.10.2007 22:28
Не работает запрос Prisian БД в Delphi 1 30.08.2007 17:33