好吧……我不是一个程序员,我的代码有很多步骤,这会让我很难发布并获得一个直接的答案。因此,我正在寻找一般步骤,如果内部连接似乎不能正常工作,您可以遵循这些步骤。以下是我的一般情况:
内部连接的问题:我从两个表开始,它们基本上是相互附加的-它们共享大多数字段,包括"id“。其中一个表包含收到电子邮件的家庭,另一个表是没有收到电子邮件的家庭-“控制”。所以我将它们附加到一个表中,记住它们来自不同的来源,创建它们的过程也不同。
然后,我将该id与另一个只包含客户的表进行匹配,并为其中一些确实是客户的家庭获得一个保证金。
下一步是使用custnum变量连接到一个sales表。至少有一些控制,可能更多的邮寄家庭应该是客户并有销售-电子邮件的重点是明显地带来销售。
我的问题是,没有任何控制家庭显示任何销售。考虑到有数十万个家庭,这是不可能的。我得到了一个合理数量的匹配电子邮件家庭。
在尝试解决这个问题时,我所能想到的是,不知何故,在发送邮件的家庭和控制家庭之间存在id或custnum字段的格式问题-可能是因为它们来自不同的来源,我不得不在一开始就将它们附加在一起。
这个是可能的吗?每个键的格式和信息都应该是相同的吗?还有什么问题?
发布于 2016-02-22 01:39:57
使用DATA STEP追加数据要比使用SQL语句容易得多。
data both ;
set email noemail;
run;如果您想在SQL中做同样的事情,那么使用UNION而不是任何类型的连接。
proc sql ;
create table both as
select * from email
union
select * from noemail
;
quit;https://stackoverflow.com/questions/35538955
复制相似问题