2017-09-22 7 views
0

SelectCase과 함께 사용하여 null인지 여부에 따라 여러 필드 중 하나를 선택할 수 있습니까?조건부 선택 mysql

나는 기본적으로

Return $Value from FIeldA if not null 
else from FieldB if not NULL 
else from FieldC if not Null 
else '0' 

것은 내가 케이스/때/그리고 특정 필드에서 값을 비교하지만 사이의 값을 비교하는 방법으로하는 데 사용했습니다 말한다 논리를 모든 레코드에 대한 값을 반환 할

필드가 있는지, 이것이 가능한지 확실하지 않은 경우

+0

https://www.w3schools.com/sql/func_sqlserver_coalesce.asp 데모 코드

SELECT CASE 1 WHEN 1 THEN 'this is case one' WHEN 2 THEN 'this is case two' ELSE 'this is not in the case' END as 'how to execute case statement'; 

입니다 –

답변

2

짧은 대답, 사용 COALESCE :

SELECT COALESCE(FieldA, FieldB, FieldC, 0) AS FieldName 
FROM tableName; 

그것은 당신에게 세 필드 FieldA, FieldB, FieldC의 첫 번째 비 널 (NULL) 값을 제공 할 것입니다. 모두 null의 경우는, 0을 돌려줍니다. 어느 쪽을하려고하고 있을까.

긴 대답, 사용 CASE 표현.

1

여러 필드를 검사하고 null 인 경우 동일한 결과 0을 반환하고 COALESCE 기능을 사용하십시오. 그런 다음 케이스를 사용하는 조건을 사용하여 제출을 선택하려면이 더 많은 정보 https://www.w3schools.com/sql/func_sqlserver_coalesce.asp

추가 옵션에 대한 간단한 코드

SELECT COALESCE(filed1, filed2, filed3, 0) as output from table; 

입니다. 이 자세한 내용은

https://dev.mysql.com/doc/refman/5.7/en/case.html

http://www.mysqltutorial.org/mysql-case-function/