0

我想创建一个新表,其中包含两个现有表中的某些列。有些列在两个现有表中,但不是全部。“unique_number”列在两个表中。我想要检查两个表中是否存在相同的 unique_number,如果存在,则使用与该 unique_number 对应的所有列(来自两个表)创建一行。如果 unique_number 不在两个现有表中,那么我不在乎将其包含在我的新表中。

我可以在 SAS 中执行此操作,但我被迫在 SQL 中执行此操作,而对该程序的背景知识很少。

4

2 回答 2

4

听起来你需要 aINNER JOIN而不是 a FULL JOIN。这是做你想做的事的一种方式:

SELECT  A.unique_number,
        A.col1FromA, -- list the other columns from TableA here
        B.col1FromB -- list the other columns from TableB here
INTO TableC
FROM TableA A
INNER JOIN TableB B
    ON A.unique_number = B.unique_number
于 2013-06-03T18:32:18.230 回答
0

如果您的描述准确,则“unique_number”列上的内部连接应该是您所需要的。

select t1.unique_number, t1.other_column, t2.something_else
into new_table_name
from one_table t1
inner join other_table t2
on t1.unique_number = t2.unique_number;

这掩盖了“某些列在两个表中”的复杂性,并且两个表中的那些列可能具有不同的值。考虑一下。

选择...进入语法

于 2013-06-03T18:33:08.033 回答