by 거북이 [SQL Query] 오라클 sql 쿼리 [2023.12.13 14:52:30]
Item 이라는 테이블이 있고 값이 아래와 같이 레코드 1개만 있다고 했을경우입니다.
*Table: Item | ||
GB | Key | Value |
1 | abc | A |
Condition이라는 변수의 파라미터를 받아오는데 2개 이상의 값을 가지고 있는 상태라고 치고,,,
A, B라는 값을 Condition변수에 담아 보낸다고 했을때 IN 조건을 사용하면 string Condition = "'A','B'" 로 셋팅하여 아래와 같이 Key의 값인 abc를 추출할 수 있습니다.
SELECT Key FROM Item WHERE Key = 'abc' AND Value IN (:Condition) ; 이런식으로 조회할 수 있다고 생각합니다.
하지만 여기서 질문드리고 싶은건 Key 컬럼의 값 abc를 기준으로 Value가 파라미터로 넘겨받은 변수를 모두 충족했을때 SELECT으로 Key를 추출하고 싶습니다.
다시말해, 위와같이 A와 B를 넘겨줬는데 현재 테이블엔 Value가 A만 있는 상태이므로 Key의 abc를 추출할 수 없게 하고 싶습니다.
IN을 사용하면 위 처럼 구성하여 셋팅할 수 있지만 조건이 성립되어 Key의 abc가 보이기 때문에
Key의 값을 기준으로 A, B의 값 모두를 조건으로 충족시킬 수 있는 방법이 있을까요? 테이블 구조 변경은 불가능합니다...
파라미터를 넘기는 방법이나 쿼리를 어떻게 짜야될지 알려주시면 감사하겠습니다.