全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3273 3
2012-08-08
表1(下面的part和full)包括(A,B)的部分或者全部组合,且观测有重复,表2(下面的conbination)包括所有组合。现需要将表2只没有的组合加入到表1中。请问能否用精简的SQL语句实现。
data part;
input a b weight;
cards;
1 1 1
1 2 1
1 3 1
1 2 1
2 1 1
2 1 1
2 2 1
;
run;

data full;
input a b weight;
cards;
1 1 1
1 2 1
1 3 1
1 2 1
2 1 1
2 1 1
2 2 1
2 3 1
;
run;


data conbination;
input a b weight;
cards;
1 1 0.00000001
1 2 0.00000001
1 3 0.00000001
2 1 0.00000001
2 2 0.00000001
2 3 0.00000001
;
run;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2012-8-8 13:19:49
程序如下:
proc sql;
    title "different rows";
    create table different as
    select * from full
    except
    select * from part;
quit;

data all;
set part different;
run;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-8-8 17:07:43
改成 except all
會比較安全

To select all rows in the first table (both unique and duplicate) that do not have a matching row in the second table, add the keyword ALL after the EXCEPT set operator.
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-8-9 09:43:28
1000720119 发表于 2012-8-8 13:19
程序如下:
proc sql;
    title "different rows";
首先,谢谢你的热心帮助。
数据集Part和Full是前文提到的表1的两种情况,即1组合不全和2组合不全。
真正的全部组合是在表2中,即数据集conbination(应该为combination,先不改了)
我需要的是将表1中的组合补全,补进来的组合,其权重不是1而是一个非常小的数值。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群