반응형
null 값을 바꾸는 동안 두 행을 하나로 병합
다음과 같은 데이터베이스 테이블이 있다고 가정해 보겠습니다.
Name | Nickname | ID
----------------------
Joe Joey 14
Joe null 14
이제 null 값을 대체하면서 이 두 열을 하나로 병합하는 선택 문을 수행하려고 합니다.결과는 다음과 같습니다.
Joe, Joey, 14
이를 관리하는 SQL 문은 무엇입니까(가능한 경우)?
가장 간단한 솔루션:
SQL> select * from t69
2 /
NAME NICKNAME ID
---------- ---------- ----------
Joe Joey 14
Joe 14
Michael 15
Mick 15
Mickey 15
SQL> select max(name) as name
2 , max(nickname) as nickname
3 , id
4 from t69
5 group by id
6 /
NAME NICKNAME ID
---------- ---------- ----------
Joe Joey 14
Michael Mickey 15
SQL>
만약 당신이 11gR2를 가지고 있다면, 당신은 새로운 flanged LISTAG() 기능을 사용할 수 있지만, 그렇지 않으면 그것은 NAME과 NICOME 열을 연결하는 SELECT로 위의 문을 감쌀 만큼 충분히 간단합니다.
AFAIK, 질문은 clear.so 이 아닙니다. 저는 여기서 몇 가지 가정을 하고 있습니다.출력에는 두 행의 첫 번째 열과 세 번째 열이 모두 동일합니다.두 번째 필드만 다릅니다.
그래서 당신은 간단하게 선택 퀘스트를 쓸 수 있습니다.
select one.name,two.nick_name,one.id from
(select name,id from your_tb group by name,id) one,
your_tb two
where two.nickname is not NULL
and two.name=one.name
and two.id=one.id;
우리가 이것을 조정할 수 있을지도 모르지만, 나는 SQL 쿼리를 조정하는 것에 능숙하지 않지만, 이것이 당신이 필요로 하는 방식이라고 생각합니다.
언급URL : https://stackoverflow.com/questions/3263126/merging-two-rows-to-one-while-replacing-null-values
반응형
'programing' 카테고리의 다른 글
| Oracle 10g - NULL이 아닌 곳 최적화 (0) | 2023.07.10 |
|---|---|
| 유형 스크립트의 대응 이벤트 유형 (0) | 2023.07.10 |
| 파이썬 유닛 테스트를 위해 mongodb를 조롱하는 방법은 무엇입니까? (0) | 2023.07.10 |
| Oracle Database에서 SQL을 사용하여 XML Clob에서 데이터 추출 (0) | 2023.07.10 |
| ORA-02287: 시퀀스 번호는 여기에서 허용되지 않습니다. (0) | 2023.07.10 |