0
다음과 같이 SQL 쿼리를 작성해야합니다. 이름을 NAME으로 선택 이름이 (something)이고 테이블에서 customer_id로;SQL 쿼리 케이스 예
(CASE
WHEN ID1 != null THEN ID1
WHEN ID2 != null THEN ID2
WHEN ID3 != null THEN ID3
ELSE null
END) as customer_id.
:
표는 내가 CUSTOMER_ID 그래서 위의 질의에 뭔가 블록이기 때문에 다음과 같이 null가 아닌 그 어느 id 컬럼은, 내가 그것을 가지고있는 직렬 확인 customer.So의 종류에 따라 CUSTOMER_ID 3 열이
그러나 쿼리는 항상 고객 ID에 대해 null을 반환합니다. 여기에 뭔가가 있거나 더 좋은 방법이 없으십니까?
감사합니다 :). 이에 관한 한 가지 더 질문이 있습니다. 네이티브 쿼리 (JPA)를 작성하는 데이 쿼리를 사용합니다. 따라서 coalesce()를 사용하는 것이 좋습니다. 모든 데이터베이스가이를 지원합니까? – Alok
@ user3417179 : AFAIK, 모든 SQL에서 지원됩니다. –
@ user3417179 . . 'coalesce()'는 대부분의 데이터베이스에서 지원되는 ANSI 표준 함수입니다. 일부는 그렇지 않습니다. 특히 구버전은 그렇지만 대부분의 현대적이고 일반적인 데이터베이스가이 기능을 지원합니다. 그리고'case '를 지원하는 모든 데이터베이스는'coalesce()'를 가지고 있다고 생각합니다. –