• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

замена записей в таблице

  • Автор темы sasha_hlp
  • Дата начала
Статус
Закрыто для дальнейших ответов.
S

sasha_hlp

Помогите плиз!
Есть таблица:
(ТТ(id торговой точки) , А(id агента), дата (дата документа))
1 0 11.10
1 1 12.10
2 1 12.10
1 2 13.10
2 0 14.10
1 3 15.10
1 0 16.10

Есть документы где А не проставлен (0).
С одной Торговой точкой могут работать несколько агентов.

Надо:
Создать таблицу где:
Там где не проставлен Агент (0) заменить на агента который последним работал с торговой точкой по дате.

?:

как это сделать
 
S

sasha_hlp


SQL Server 2000

вроде справился

Код громоздкий но работает

[sql]update Zamena
set Agent=case
when A.DataDoc<(select top 1 DataDoc from Zamena B where B.TT=A.TT and Agent<>'0' order by DataDoc) then (select top 1 Agent from Zamena C where C.TT=A.TT and Agent<>'0' order by DataDoc)
else (select top 1 Agent from Zamena D where D.TT=A.TT and Agent<>'0' and D.DataDoc<A.DataDoc order by DataDoc desc)
end
from Zamena A
Where Agent='0'[/sql]
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!