사이트맵  |  Contact Us
 
홈 > SAS Stories > SAS 질문과 답변
sql join 관련 2018.10.22
전보배 709 0
http://www.mysas.co.kr/sas_club/b_answer.asp?b_no=11021&gotopage=9&con=subject&keyword=&cmd=content&bd_no=6&gubun=

id id year 
1 1 2004 
2 1 2005 
3 3 2004 

위 데이터를 "test" 라고 했을 때, 아래 코드를 실행해 보시면 원하시는 결과는 나옵니다. 
급히 작성하느라 코드가 기네요 ㅠㅠ 
도움 되셨기를 바랍니다. 

proc sql; 
create table test11 as 
select id 
, id2 
, case when id = id2 then year else . end as year2 
, case when id ^= id2 then year else . end as year3 
from test 
quit; 

proc sql; 
create table test22 as 
select id 
, year2 as year 
from test11 
quit; 

proc sql; 
create table test33 as 
select id2 as id 
, year3 as year 
from test11 
where year3 ^= . 
quit; 

proc sql; 
create table work.test44 as 
select * from work.test22 
outer union corr 
select * from work.test33 

quit;  ​


---------------------------------------[ 원 문 ]---------------------------------------

 

sql에서 A table의 id를 기준으로 B table에서 동일한 id에 해당하는 모든 값을 다 가져오고 싶은데요.. 

B 테이블에서 id는 같지만 다른 컬럼 값이 다른 case를 모두 가져오고 싶을때 어떻게 써야 할까요?

a.id=b.id 로 하니 다른 변수값들이 온전히 다 안들어와서요..

아래처럼 만들고 싶어서요

id     id    year

1      1     2004

2      1    2005

3      3   2004

 

id  year

1  2004

1  2005

2

3  2004 

 
 
 
휴대폰 번호
휴대폰 인증번호
 
 질의빌더에서 '테이블 조인' 기능만 실행이 안됩니다.
 질의빌더에서 '테이블 조인' 기능만 실행이 안됩니다.