제품 데이터를 반환하는 간단한 SQL 문이 있습니다. 기본적으로 항목의 이름을 입력 할 수 있습니다. 항목이 정확히 일치하면 아무 것도하지 않습니다. 정확한 요청과 일치하는 항목이 없으면 SQL에서 'WHERE'문을 전환하고 싶습니다. 현재 모양은 다음과 같습니다.CASE를 Where statment Oracle SQL에서 사용하는 방법?
SELECT
Product_ID,
Product_Name,
Product_Type,
Product_Cost
FROM tblProducts
WHERE Product_Name = 'iPhone'
분명히 'iPhone'이라는 제품 만 반환합니다. iPhone 5는 반환되지 않습니다. 어떤 제품이없는 경우에 따라서
WHERE Product_Name like '%iPhone%'
: 쿼리가 처음 Where
절을 사용하여 0 행을 가져 오는 경우
난 할 노력하고있어 다음과 같은 일을 할 것입니다 두 번째 where
절을 트리거입니다 정확하게 아이폰이라고 불리면 아이폰을 어딘가에 가진 제품을 돌려 준다.
출력 결과에 추가 필드를 만들려고하면 쿼리 결과 창에이 필드를 표시하고 싶습니다. '두 번째 Where 절이 1로 설정된 경우 두 번째 Where 절이 사용되었습니다.' 경우 1 = 정확하게 일치, 0 = 정확한
그래서 내가 좋아하는 뭔가 끝낼 것이다 일치하지 :
SELECT
Product_ID,
Product_Name,
Product_Type,
Product_Cost
CAST(0 AS VARCHAR2(1)) as match
FROM tblProducts
WHERE Product_Name = 'iPhone'
을하지만 어떻게 해결하지 못할 :
ID Name Type Cost Matched
-----------------------------------------------
101| New iPhone Case| Electronics | 4.99 | 1
지금까지 내가 가지고 어디서 스위치 케이스를 사용하여 설명하십시오 :
SELECT
Product_ID,
Product_Name,
Product_Type,
Product_Cost
CAST(0 AS VARCHAR2(1)) as match
FROM tblProducts
WHERE Product_Name = 'iPhone'
if (results = 0){
SELECT
Product_ID,
Product_Name,
Product_Type,
Product_Cost
CAST(1 AS VARCHAR2(1)) as match
FROM tblProducts
WHERE Product_Name like '%iPhone%'
}
아이디어를 얻을 수있는 방법 그의?