插入一个 table 到另一个 select 中的用例

Insert into one table to another and use case in select

我有一个问题:

insert into xx_tab_abc
(wr_flag,actual_term_date,person_num)

SELECT BOL_FLAG, ACTUAL_TERM_DATE, PERSON_NUMBER FROM WR_TAB

我能否修改此 select 查询,使 actual_term_date in wr_tab 不为空,然后将 'Y' 插入到 wr_flag 中,否则不传递任何值?

SELECT case when ACTUAL_TERM_DATE is not null 
            then 'y' 
            else BOL_FLAG
       end, 
       ACTUAL_TERM_DATE, PERSON_NUMBER 
FROM WR_TAB

您是说如果 ACTUAL_TERM_DATE 为空则不想插入任何内容?如果是这样,你可以这样做

insert into xx_tab_abc (wr_flag,
                        actual_term_date,
                        person_num
                       )

SELECT 'Y', 
       ACTUAL_TERM_DATE, 
       PERSON_NUMBER 
FROM WR_TAB
WHERE ACTUAL_TERM_DATE IS NOT NULL
insert into xx_tab_abc
(wr_flag,actual_term_date,person_num)
SELECT decode(NVL(ACTUAL_TERM_DATE,' '),ACTUAL_TERM_DATE,'Y',NULL), ACTUAL_TERM_DATE, PERSON_NUMBER FROM WR_TAB