推 darkhc:非常感謝~! 用SQL簡化好多 @@" 02/23 15:12
※ 引述《a15321 (a15321)》之銘言:
: 試了很久還是想不到方法
: 我的資料是這樣
: DATA_A DATA_B
: ID GROUP ID var1
: 111 A 111 x
: 112 A 116 y
: 113 A 117 z
: 114 B
: 115 B
: 116 C
: 117 D
: 118 E
: 若我寫
: data aa;
: merge DATA_A DATA_B (IN=b);
: by ID;
: if b=1;
: run;
: 這樣結果會得到
: ID GROUP var1
: 111 A x
: 116 C y
: 117 D z
: 但我希望得到的合併結果是
: ID GROUP var1
: 111 A x
: 112 A .
: 113 A .
: 116 C y
: 117 D z
: 也就是,我需要只要兩邊ID相同時,
: 該筆ID在DATA_A所屬的Group的其他ID也能留下
: 翻書翻很久還是想不出做法
: 還請板上前輩能提示一下,謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.229.223.124
PROC SQL;
CREATE TABLE c AS
SELECT a.id, a.group, b.var1
FROM a LEFT JOIN b ON a.id=b.id
WHERE a.group IN
(
SELECT a.group
FROM a INNER JOIN b ON a.id=b.id
)
;QUIT;