WHERE 절을 기반으로 레코드를 선택하고 각 레코드가 WHERE 절의 필터를 통과 한 이유를 나타내는 열을 결과에 포함하려고합니다.WHERE 절의 결과에 따라 열 값 반환
name|location|networth|reason --reason is the part I need help with
-----------------------------
Joe |France |0 |Location
Jeff|England |500 |Net worth
Tim |France |500 |Net worth and location
SELECT 절 내부의 WHERE 절의 조건을 반복하는 것보다 "이유"를 설정하는 청소기 방법이 있나요를 반환 할 수 있습니다
SELECT name, location, networth, reason
FROM aTable
WHERE location = "France" OR networth > "100"
같은 뭔가?
이 솔루션은 꽤 깔끔하지만 원하는 결과에 대한 변경 사항을 수락해야합니다. "위치 및 순자산 가치"를 산출하는 대신 "프랑스 순자산"을 산출합니다. 또한이 쿼리가 대용량 쿼리/데이터 집합의 일부로 사용되는 경우 SARG의 인덱스가 무시 될 것으로 예상되므로 성능을 신중하게 테스트 할 것입니다. –
@ TabAlleman. . . (1) 네, 원하는 결과는 조금 다릅니다. 이것은이 문제에 직면했을 때의 형식입니다. (2) 인덱스는'또는'조건에 효과적으로 사용되지 않을 것입니다. –