안녕하세요 제가 insert 쿼리를 작성중인데 해결이 안되서 여쭤보려고 합니다. 아래의 쿼리를 작동하게되면 insert into tb_cnv( std_dt, patient_id, file_id, rowid, 1, 2, 3, 4, 5, 6, create_id, create_dt, update_id, update_dt )values( to_char(now(), 'YYYY-MM-DD'), (select patient_id from id_enc where file_nm = '831988cf17f5b1b202b8ea654be6a88b6744786955c952e9f452d153c47c687b'), '831988cf17f5b1b202b8ea654be6a88b6744786955c952e9f452d153c47c687b', 40, 'Gbl,43r)', '852.0', 'R', '18.0', '18.0', '0.0', 'adminSuper', now(), 'adminSuper', now() );
굵게 표시한 이 부분에서 쿼리작성이 멈췄는데요
(select patient_id from id_enc where file_nm = '831988cf17f5b1b202b8ea654be6a88b6744786955c952e9f452d153c47c687b' )
where 조건을 만족하면 patient_id 값이 들어가고 만족하지 않는다면 '831988cf17f5b1b202b8ea654be6a88b6744786955c952e9f452d153c47c687b' 이 값을 넣으려는데
select case when file_nm = '831988cf17f5b1b202b8ea654be6a88b6744786955c952e9f452d153c47c687b' then patient_id else '831988cf17f5b1b202b8ea654be6a88b6744786955c952e9f452d153c47c687b' end as patient_id from id_enc;
이렇게 case when 을 사용하면 반환값이 여러개여서 오류가 발생하고
select coalesce(patient_id, '831988cf17f5b1b202b8ea654be6a88b6744786955c952e9f452d153c47c687b') as COALESCE_RESULT from id_enc where file_nm = '831988cf17f5b1b202b8ea654be6a88b6744786955c952e9f452d153c47c687b';
coalesce 함수를 사용해도 이것도 조건이 맞지않을때는 값이 출력되지 않습니다..
제가 원하는 결과를 구현하려면 어떻게 해야할까요