2014-07-15 5 views
-1

mysql을 처음 사용했습니다.단일 테이블 내에서 두 개의 열을 연결하십시오.

이 내가

id | C | 
1 | 11 | 
2 | 12 | 
3 | 13 | 
4 | abc | 

아래 내 질문은 같은 출력을 열 A 및 B 열을 연결하고 싶어 내 테이블 구조

테스트

id | A |B | 
1 | 11 |  | 
2 | 12 |  | 
3 | 13 |  | 
4 | 14 |abc | 

, 그것은 할 수 있습니다 mysql에서 그런 결과를 얻으시겠습니까? 바로

SELECT id, COALESCE (B, A) AS C 
FROM yourtable 

coalesce() evalutes 인수 왼쪽>을 첫 번째 null이 아닌 값을 반환

select id, coalesce(B, A) as C 
from table t; 
+0

I 사용 COALESCE() 테스트 테이블의 기능을하지만 B 열이 나는 ID 출력을 다음 얻을 빈 values.so를 포함 | C | 1 | | 2 | | 3 | | 4 | abc | 그것을 기초 연구 나 유착()가 테스트 테이블 함수이지만 B 열에 빈 포함 사용될 – user3243719

+1

이 질문 오프 항목으로 표시되는 것과 동일한 결과를 생성 values.so 내가 출력을 – Strawberry

답변

2

나는 당신이 coalesce() 기능을 찾고있다 생각합니다.

1

사용 COALESCE()을 :

+0

없기 때문에 SELECT ID는 테스트 FROM C AS IFNULL (B, A)도 – user3243719

+0

coalesce SQL NULL에서 작동합니다. 빈 문자열과 null이 아닌 경우 합치면 작동하지 않습니다. '''는'NULL'과 같지 않습니다. 대신 IF (B = '', A, B) AS C'와 같은 것을 필요로 할 것입니다. –

+0

덕분에 ... 효과가있었습니다. – user3243719

1

이 시도 :

SELECT ID, IFNULL(B,A) AS C FROM Test 
+0

예 ... 고맙습니다 ... – Jesuraja

관련 문제