Merge SAS一对多合并

Merge SAS一对多合并,merge,sas,Merge,Sas,我尝试使用以下代码组合两个数据集。这是一种一对多的组合情况。我想达到图中所示的最终结果。然而,它继续失败。有人能帮我吗 涉及datetime值的联接可能有问题。不管您看到什么,这两个集合中的TT值可能不相等,因为datetime值可以具有亚秒分辨率(并且对于datetime格式,它们可能会以某种程度的舍入进行渲染) 这可能会导致两个不同的值在应用格式时看起来相同,而实际上并非如此。这也将防止内部连接条件,并导致Open_出价在左连接中丢失 你能看看下面的方法是否有效吗 proc sql;

我尝试使用以下代码组合两个数据集。这是一种一对多的组合情况。我想达到图中所示的最终结果。然而,它继续失败。有人能帮我吗


涉及datetime值的联接可能有问题。不管您看到什么,这两个集合中的TT值可能不相等,因为datetime值可以具有亚秒分辨率(并且对于datetime格式,它们可能会以某种程度的舍入进行渲染)

这可能会导致两个不同的值在应用格式时看起来相同,而实际上并非如此。这也将防止内部连接条件,并导致Open_出价在左连接中丢失

你能看看下面的方法是否有效吗

proc sql; 
  create table temp2.ddfull as 
    select a.*, b.*
    from temp2.ddoption as a left join temp2.ddunderprice as b
    on put(a.tt, datetime16.)=put(b.tt, datetime16.);
quit;
这将影响性能,因为每次比较都必须调用两个PUT函数。如果集合中有另一个键可以用作联接变量,我会使用它

proc sql; 
  create table temp2.ddfull as 
    select a.*, b.*
    from temp2.ddoption as a left join temp2.ddunderprice as b
    on put(a.tt, datetime16.)=put(b.tt, datetime16.);
quit;