Как выполнить обновление для этого запроса? - PullRequest
0 голосов
/ 16 февраля 2020
select * from xxhys_bill_site_m master, xxhys_bill_site_m_wk wk`
where master.bill_site_cd = wk.name`
and master.co_cd = wk.co_cd`
and SYSDATE between master.CUST_SITE_VALID_START_DT and NVL(master.CUST_SITE_VALID_END_DT,'3999/12/31')`
and master.co_cd NOT IN ('1012','3002','3004','3008','3009','3010','3011','3012','3015','3014','3016','3017,'3018','3019')`
and wk.ifid <> 'SPIJ0679X31';

Приведенный выше запрос на выбор довольно сложно преобразовать в оператор обновления, я выполнил такой разнообразный запрос на обновление, но не получил тот же результат из оператора выбора. Я хочу обновить данные, запрашиваемые оператором select выше.

1 Ответ

0 голосов
/ 16 февраля 2020

Вот как вы должны обновить столбцы в таблице xxhys_bill_site_m. Для получения дополнительной информации вам необходимо сообщить нам, какие столбцы вы хотите обновить sh.

update xxhys_bill_site_m 
set bill_site_cd = 'update value' 
-- here you will put all the columns you want to update from table xxhys_bill_site_m
-- you will do it in the way I have shown in the code line above
where SYSDATE between xxhys_bill_site_m.CUST_SITE_VALID_START_DT and NVL(xxhys_bill_site_m.CUST_SITE_VALID_END_DT,'3999/12/31')
and xxhys_bill_site_m.co_cd NOT IN ('1012','3002','3004','3008','3009','3010','3011','3012','3015','3014','3016','3017','3018','3019')
and exists (select '1'
            from xxhys_bill_site_m_wk 
            where xxhys_bill_site_m_wk.ifid <> 'SPIJ0679X31'
            and xxhys_bill_site_m_wk.name = xxhys_bill_site_m.bill_site_cd
            and xxhys_bill_site_m_wk.co_cd = xxhys_bill_site_m.co_cd)
...