쿼리 질문 드립니다.
본문
테이블 table_A 와 table_B 가 있고
table_A라는 테이블 a b c d e 컬럼에 데이터를 insert 하려고 합니다
d라는 컬럼이 table_B의 dd라는 데이터가 들어가야 하는데 table_A 의 dd라는 컬럼과 cc라는 컬럼이 중복해서 들어가면 안됩니다.
insert into A (a, b, c, d, e)
value('aa','bb', 'cc'
(select cc from table_B where not exists(select dd from table_A where c='cc' and d='dd')),
'ee')
라고 쿼리를 작성했는데 오류코드 1093 나오면서 안되더라구요
어떻게 수정을 해야할까요?
!-->답변 1
원하는 의도가 명확하게 파악되지는 않지만
쿼리를 보니
대략적인 방향성은 비슷할것 같아서
오류가 적은 쿼리로 변경해드리면
insert into A (a, b, c, d, e)
select 'aa','bb','cc', cc ,'ee'
from table_B
where not exists(select dd from table_A where c='cc' and d='dd')
로 실행해보시고, 오류없으면 적용해보세요
value 로 처리할때는 필드가 멀티가 되면 안됩니다.
제가 알려드린방법은
여러 Row가 들어갈수도 있습니다.
exists문을 적절하게 조절하시면 원하는 값만큼만 추가될겁니다.
!-->
답변을 작성하시기 전에 로그인 해주세요.