Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

подсобите с запросом

Nikolay Kondaurov Мастер (2484), на голосовании 5 лет назад
есть таблица в ней последние 3 колонки это ochki - очки kof - коэффициент mesto - место
задача заполнить колонку mesto (то есть нужен отсортированный массив) в соответствии по 1 показателю ochki кто набрал больше очков будет выше, если очки равны то нужно сравнивать их коэффициенты - kof...
вот сижу ломаю голову с запросом чтоб облегчить задачу.
Буду рад любой помощи...
Дополнен 5 лет назад
забыл уточнить с sql запросом)
Голосование за лучший ответ
Jurijus Zaksas Искусственный Интеллект (445828) 5 лет назад
Нужен анонимный блок. На оракле - примерно так:

DECLARE
CURSOR CUR IS SELECT * FROM YOURTABLE ORDER BY OCHKI DESC, OCHKI*KOEF DESC FOR UPDATE;
DCUR CUR%ROWTYPE;
N INTEGER;
BEGIN
N:=1;
OPEN CUR;
LOOP
FETCH CUR INTO DCUR;
EXIT WHEN CUR%NOTFOUND;
UPDATE YOURTABLE SET MESTO=N WHERE CURRENT OF CUR;
N:=N+1;
END LOOP;
CLOSE CUR;
EXCEPTION
WHEN OTHERS THEN RAISE;
END;
Похожие вопросы