SQL에서 일치하는 기준에 따라 반환 된 행을 다르게 정렬 할 수 있습니까?일치하는 기준에 따라 ORDER BY가 다릅니 까?
예를 들어, 내 웹 페이지에서 이름 또는 우편 번호를 입력 할 수 있습니다. 쿼리는 현재 성, 이름으로 주문합니다. 우편 번호를 입력하지 않으면 이름 대신 우편 번호로 결과를 정렬하고 싶지 않으면 멋지다. 그게 가능하니? 이 질문은 두 개가 아닌 같은 쿼리에서 발생합니다. 잠재적 인 문제 : 입력 된 값이 이름과 우편 번호와 일치하면 어떨까요?
감사합니다.
의사 쿼리 : 쿼리는 검색 조건에 일치하는 필드 추측 할 수있는 방법으로 공식화되기 때문에
SELECT firstName, lastName, zip
From Users
WHERE (FirstName LIKE 'search' OR LastName LIKE 'search' OR Zip LIKE 'search')
ORDER BY LastName, FirstName
당신은 검색 항목 이름 또는 우편 번호인지를 알아야합니다 - 당신은 할 수 있었다 "ORDER 사례 @mode에 의해 언제 '이름'THEN 성 ELSE 우편 END" –
@ 존 브라운엄 (JohnBingham) 그의 질문에 대해 알고 있거나 모드에 대해 알고 싶어한다고 생각하지 않습니다. 기준과 일치하는 항목이 무엇인지에 관계없이 '컷을 만듭니다'. 예를 들어, 'Mr. Smith91228 '을 데이터베이스에 등록하면 그는'91228' 우편 번호 거주자와 함께 선정 될 것입니다. – dasblinkenlight