사이트맵  |  Contact Us
 
홈 > 참여마당 > SAS 질문과 답변
[SAS 프로그래밍] sql join 관련 2018.10.22
김수정 83 0
http://www.mysas.co.kr/SAS_club/b_answer.asp?b_no=7961&gotopage=1&con=subject&keyword=&cmd=content&bd_no=6&gubun=

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 

 
 
 
전보배   [2018/10/22 10:07]
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;
휴대폰 번호
휴대폰 인증번호
 
 질의빌더에서 '테이블 조인' 기능만 실행이 안됩니다.
 JVM 오류 해결부탁드립니다.