Sql 如何检查一个数据集中的单元格是否存在于另一个数据集中;s变量/列?

Sql 如何检查一个数据集中的单元格是否存在于另一个数据集中;s变量/列?,sql,sas,Sql,Sas,我有两个数据集,分别称为A和B;下面是它们的样子: A: B: 当然,有数十万次的观测,而不仅仅是三次。我想看看a.var1,看看a.var1中的每个观察值是否存在于B.var1中。如果没有,我想用一个空格替换A.var1。我还想保留缺少A.var1的行 最终输出: 您知道我可以编写什么样的SQL查询来实现这一点吗?我将在SAS中的PROC SQL语句中编写这一点 SELECT B.Var1, A.Var2 FROM A LEFT OUTER JOIN B ON A.Var1 = B.Var1

我有两个数据集,分别称为
A
B
;下面是它们的样子:

A: B: 当然,有数十万次的观测,而不仅仅是三次。我想看看
a.var1
,看看
a.var1
中的每个观察值是否存在于
B.var1
中。如果没有,我想用一个空格替换
A.var1
。我还想保留缺少
A.var1
的行

最终输出: 您知道我可以编写什么样的SQL查询来实现这一点吗?我将在SAS中的PROC SQL语句中编写这一点

SELECT B.Var1, A.Var2
FROM A LEFT OUTER JOIN B ON A.Var1 = B.Var1
这应该会得到您想要的结果。

的答案是正确的,因为我忽略了表A可能包含我希望保留在最终输出中的缺失观察值的细节

但是,考虑到这些细节,我们可以根据客户的答案:

CREATE TABLE Final as
SELECT DISTINCT B.Var1, A.Var2
FROM A LEFT OUTER JOIN B ON A.Var1 = B.Var1

UNION

SELECT DISTINCT B.Var1
FROM B;

DELETE FROM FINAL
WHERE VAR2 IS MISSING;

我意识到我问的是一个愚蠢的问题。我忘了添加一个事实,即表A中缺少观察值,我还希望在最终输出中保留为缺少。我将对问题进行编辑。
  Var1              Var2
   .                "ID1"
   .                "ID2"
"Hello30"           "ID3"
   .                "ID4"
SELECT B.Var1, A.Var2
FROM A LEFT OUTER JOIN B ON A.Var1 = B.Var1
CREATE TABLE Final as
SELECT DISTINCT B.Var1, A.Var2
FROM A LEFT OUTER JOIN B ON A.Var1 = B.Var1

UNION

SELECT DISTINCT B.Var1
FROM B;

DELETE FROM FINAL
WHERE VAR2 IS MISSING;