我有两个数据集:
数据集1:此数据集有2300行。整个数据集中的jobID是相同的,但Hash在整个数据集中是唯一的
Hash jobID
3456343454 1077
3453454 1077
43673 1077
.... and so on
数据集2:此数据集包含5838918行。不同的JobID值和不同的Hash值如下: 哈希jobID 2223422 2 233435 155 2344322 1171 ......等等
我想要尝试的是查看第一个数据集中是否存在任何Hash值是否也存在于第二个数据集中。由于第一个数据集中有超过一千个不同的唯一哈希值,因此我无法键入它们中的每一个以查看它是否存在于第二个数据集中,如下所示: 如果在(value1 value2 ...等)中散列,并显示数据集1中存在但在数据集2中不存在的所有散列值。
这样做的最佳方法是什么?
此外,HASH是字符($ 32格式和信息),而JobID是数字(格式:Best12./ Informat 12。)
答案 0 :(得分:2)
使用SQL查询创建第二个列表,您不必手动列出值。
proc sql;
create table in1_not2 as
select *
from table1 as a
where a.hash not in
(select b.hash from table2 as b);
quit;