Member 14569949 Ответов: 1

Sql: фильтр, если применяется условие


Привет, ребята, быстрый вопрос у меня есть этот набор данных, который повторяется, когда когда-либо дело меняет статус, скажем, мы назначили, неназначили, работаем в процессе, закрыты и т. д. Мне нужно удалить экземпляры, когда обращение изменяется на закрытое, а не загружать какие-либо данные при выполнении запроса.

вот пример одного случая:

type       caseid   businesssource      status
dummytype    921ed59f   dummy            CLOSED
dummytype    921ed59f   dummy            CLOSED
dummytype    921ed59f       dummy            UNASSIGNED
dummytype    921ed59f   dummy            UNASSIGNED


Следовательно, в данном случае мне нужно, чтобы эти данные были полностью удалены, так как это уже закрытое дело.

Что я уже пробовал:

Here is an example of what I've been trying to do but with no success.

    select

     status
    , caseid
    , domain
    , marketplaceid
    , concat ('Q', datepart(quarter, creationdate)) as created_quarter
    , case when marketplaceid = 1 then 'US'
           when marketplaceid = 3124564 then 'GO'
           when marketplaceid = 5646897 then 'PUS'
           when marketplaceid = 3213165 then 'Te'
           when marketplaceid = 32132131 then 'FED'
           else 'LOV'
      end as marketplace
    , assignee
    , businesssource
    , queue
    , creationdate
    , closuredate
    , identifier 
    -- datefiff (day, closuredate, creationdate ) as SLA
    , ROW_NUMBER() OVER (PARTITION BY caseid, queue, identifier order by status asc) as rnk

    from dummytable

    where status in ('WORK_IN_PROGRESS','ASSIGNED','UNASSIGNED','PENDING_VENDORSELLER_COMMUNICATION')
    and trunc(creationdate) between '2019-01-01' and sysdate
    and domain not in ('Demo')

1 Ответов

Рейтинг:
1

OriginalGriff

Используйте запрос на обновление:

UPDATE MyTable SET ColumnToChange=NewValue, OtherColumnToChange=OtherNewValue 
WHERE conditionToSelectRowsToChange

Более подробный: Инструкция обновления SQL[^]