큰 내용은 아니다.
실무 작업중에 상당히 장문의 쿼리문을 이용해야 할때,
다음과 같은 에러 메세지를 접했다.
Microsoft OLE DB Provider for SQL Server 오류 '80040e14'
조건이 필요한 컨텍스트(위치 ')')에 부울이 아닌 유형의 식이 지정되었습니다.
대략 소스를 올려보면 아래와 같은데,
And (select top 1 bb.cmi_material_name from CSCenter_Download_Set_M aa inner join CCC_Material_Info bb on aa.Cmi_Code_FK=bb.cmi_code where aa.num=a.num and bb.cmi_material_name='제품상품명' )
asp 작업이었는데, 페이징 쿼리가 또한 함께 삽입되어 있는 관계로 상당히 복잡한 쿼리였다.
이때, 다음과 같이 IN 키워드로 해결하면 자연스레 조건 검색이 가능하다.
혹시나 참고하도록 하자. ~
And a.num In (select top 1 aa.num from CSCenter_Download_Set_M aa inner join CCC_Material_Info bb on aa.Cmi_Code_FK=bb.cmi_code where aa.num=a.num and bb.cmi_material_name='"& 제품상품명 &"' )