>  Q&A  >  본문

Case When 문 - SQL/MySQL에서 지정한 값 범위에 속하지 않는 레코드를 제외하고 싶습니다.

DTBL_SCHOOL_DATES 테이블에서 특정 날짜에 대한 계절 범위를 설정하려고 합니다. 다음은 연도와 지역을 기준으로 특정 범위 내에서 계절을 설정하는 논리입니다.

으아악

하지만 날짜가 로직에 지정된 범위 내에 있지 않을 때마다 무시하고 싶습니다. 일명 "범위를 벗어난" 값은 제외되어야 합니다. null이 아닌 FTBL_TEST_SCORES.test_admin_기간을 사용해 보았지만 데이터베이스의 값이 null이 아니기 때문에 작동하지 않습니다.

범위에 없는 값은 결과에서 제외되어야 합니다. where 절에서 이를 어떻게 달성할 수 있나요?

별명을 사용하여 제한을 시도했지만 작동하지 않았습니다. Case when 'a' then field ='B' end

와 같이 Case 문의 특정 필드에 값을 할당하는 것이 가능한지 잘 모르겠습니다.

범위에 없는 값은 결과에서 제외되어야 합니다. where 절에서 이를 어떻게 달성할 수 있나요?

P粉428986744P粉428986744404일 전554

모든 응답(2)나는 대답할 것이다

  • P粉083785014

    P粉0837850142023-09-12 16:42:13

    전체 쿼리를 볼 수 없으면 최고의솔루션을 찾는 것이 불가능합니다. 가장 간단한 해결책은 기준을 HAVING 절로 추가하는 것입니다:

    으아악

    날짜 형식이 헷갈립니다. 이것이 MySQL 쿼리인 경우 yyyy-mm-dd 형식이어야 합니다. 모호한 기본 날짜 형식을 지원하는 SQL Server에서도 이 형식이어야 합니다.

    왜 다 그래RTRIMCAST? 데이터는 올바른 형식으로 저장되고 입력 시 삭제되어야 합니다. 이것이 가능하지 않은 경우 모든 쿼리가 아닌 정기적으로 데이터를 삭제하세요.

    季节移动到它们自己的表中,而不是在查询时定义它们。然后它是一个简单的连接到seasons을 옮기는 것이 현명합니다. 여기서는 하위 쿼리를 사용하고 있지만 다음과 같은 아이디어를 얻으셨기를 바랍니다.

    으아악

    회신하다
    0
  • P粉718165540

    P粉7181655402023-09-12 13:39:57

    다음과 같이 WHERE 절에서 전체 CASE 문을 반복할 수 있습니다.

    으아악

    또는 다음과 같이 하위 쿼리(또는 CTE)를 사용할 수 있습니다.

    으아악

    회신하다
    0
  • 취소회신하다