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

Тема в разделе "SQL", создана пользователем sasha_hlp, 23 ноя 2006.

Статус темы:
Закрыта.
  1. sasha_hlp

    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) заменить на агента который последним работал с торговой точкой по дате.

    ?:

    как это сделать
     
  2. European

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    Какая СУБД?
     
  3. sasha_hlp

    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]
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей