[오라클]ORA-01427: single-row subquery returns more than one row

summer·2024년 4월 19일

ORA-01427: single-row subquery returns more than one row

ORA-01427 오류는 하위 쿼리가 단일 행을 반환해야 하는데, 여러 행을 반환했을 때 발생한다.

아래는 오류가 발생한 sql쿼리문

select *
		  from project
		 where pj_professor = (
		 					select member_id
		 					  from member
		 					  where m_type = 'P'
		 					    and member_id = 'user01'
		 					)
           and pj_class_name = (
                                select class_name
                                  from class
                                where class_status='Y');

아래의 구문에서 여러행이 조회되어서 나는 오류였다.

select class_name
  from class
 where class_status='Y');

여러행을 조회할수있는
IN으로 대체해서 오류 해결

select *
		  from project
		 where pj_professor = (
		 					select member_id
		 					  from member
		 					  where m_type = 'P'
		 					    and member_id =#{memberId}
		 					)
		   and pj_class_name in (
		   						 select class_name
		   						 from class
		   						 where class_status = 'Y'
		   						)
		 
profile
내가 모를수도 떠올리지 못했을수도 내가 무지했을수도

0개의 댓글