【发布时间】:2015-08-27 17:43:03
【问题描述】:
我有两张桌子,t1 和 t2:
t1
person | visit | code1 | type1
1 1 50 50
1 1 50 50
1 2 75 50
t2
person | visit | code2 | type2
1 1 50 50
1 1 50 50
1 1 50 50
当 SAS 运行以下代码时:
DATA t3;
MERGE t1 t2;
BY person visit;
RUN;
它生成以下数据集:
person | visit | code1 | type1 | code2 | type2
1 1 50 50 50 50
1 1 50 50 50 50
1 1 50 50 50 50
1 2 75 50
我想在 SQL 中复制这个过程,我的想法是使用全外连接。除非有重复的行,否则此方法有效。当我们在上面的例子中有重复的行时,一个完整的外连接会生成下表:
person | visit | code1 | type1 | code2 | type2
1 1 50 50 50 50
1 1 50 50 50 50
1 1 50 50 50 50
1 1 50 50 50 50
1 1 50 50 50 50
1 1 50 50 50 50
1 2 75 50
我想知道如何让 SQl 表与 SAS 表匹配。
【问题讨论】:
-
是否有需要保留重复行的原因?
-
这个问题和this question you posted earlier有什么不同?
-
@vkp 是的,稍后在代码中它对每个人求和,访问组
-
@Joe 我并没有真正得到另一个问题的答案。我尝试了你的建议,但一定是误解了它,因为我没有工作。我想我会在这里问一个更一般形式的问题。这通常是不受欢迎的吗?如果是这样我道歉。下面提供的答案很有帮助。
-
是的,你不应该问这个问题两次(这非常接近以至于没有任何不同)。下次请编辑另一个问题,使其更笼统,如果这是您的意图,并且您没有收到任何有用的答案。
标签: sql merge sas outer-join