这是表 1:
prof_id title id date0
1 Z 0 4/3
1 A 0 4/3
1 B 0 4/4
1 C 0 4/4
2 C 0 4/6
2 D 0 4/6
2 E 0 4/6
以下是表 2:
title id date1
A 0 1/2
C 0 1/2
D 0 1/3
E 0 1/3
H 0 1/5
J 0 1/6
我想创建一个这样的表:
prof_id date0 title id date1
1 4/3 Z 0 NA
1 4/3 A 0 1/2
1 4/3 B 0 NA
1 4/4 C 0 1/2
2 4/4 C 0 1/2
2 4/6 D 0 1/3
2 4/6 E 0 1/3
NA NA H 0 1/5
NA NA J 0 1/6
在这种情况下,标题中的列将是标题。我对SQL很陌生,所以任何帮助将不胜感激。
注意:我在亚马逊雅典娜上运行它
您可以尝试使用完整的外部连接:
SELECT
t1.prof_id,
t1.date0,
COALESCE(t1.title, t2.title) AS title,
COALESCE(t1.id, t2.id) AS id,
t2.date1
FROM table1 t1
FULL OUTER JOIN table2 t2
ON t1.title = t2.title AND
t1.id = t2.id;
请尝试以下操作。这是ANSI,所以应该适用于任何主要的DBMS:
SELECT a.prof_id, a.date0, b.title, b.id, b.datet1
FROM [table 1] a
RIGHT JOIN [table 2] b ON a.title = b.title