2014-01-13 5 views
-2

다음 두 레코드를 하나의 레코드로 결합하고 싶습니다. 내가 가지고 싶은두 레코드를 하나로 합친 SQL

PCNUMMER EZONE1 EDATUM1  EZONE2 
10581 E  2013-06-03 A 
10581 B  2013-11-14 NULL 
10987 A  2013-11-11 NULL 

PCNUMMER EZONE1 EDATUM1  EZONE2 
10581 B  2013-06-03 A 
10987 A  2013-11-11 NULL 

때문에 EZONE1 = 'B'는 기록 EZONE1이 = 'E'의 날짜 이후 기록의 날짜입니다. 그러나 data = 'NULL'일 때 데이터는 이전 레코드 (NULL이 아니고 이전 레코드가있는 경우)로 가져와야합니다.

이 결과는 어떻게 얻을 수 있습니까? GROUP_CONCAT가 null 값을 무시 활용을 할 수

+0

질문은 최소한의 노력을 보여 주어야합니다. 당신이 시도한 것을 보여주십시오. – Kermit

+0

where 절에서 "if"스타일 명령문을 사용하려는 것처럼 having 절을 사용하십시오. http://www.w3schools.com/sql/sql_having.asp –

답변

0

가능한 방법 : - 코드를 요청

SELECT PCNUMMER, SUBSTRING_INDEX(GROUP_CONCAT(EZONE1 ORDER BY EDATUM1 DESC), ',', 1), MAX(EDATUM1), SUBSTRING_INDEX(GROUP_CONCAT(EZONE2 ORDER BY EDATUM1 DESC), ',', 1) 
FROM SomeTable 
GROUP BY PCNUMMER 
관련 문제