【发布时间】:2020-06-23 21:58:47
【问题描述】:
我有两张表,我必须合并结果,将所有结果保存在一个数据集中。
我尝试了各种连接,但没有返回结果。
我需要 SQL Server 和 MS Access 的查询。
例子:
TAB_A
+---------------------+------+
| DATAORA | P1 |
+---------------------+------+
| 02/05/2020 15:00:30 | 100 |
| 02/05/2020 15:15:30 | 200 |
| 02/05/2020 15:30:30 | 300 |
| 02/05/2020 15:45:30 | NULL |
| 02/05/2020 16:00:30 | 500 |
+---------------------+------+
TAB_B
+---------------------+------+
| ORA | P2 |
+---------------------+------+
| 02/05/2020 15:00:30 | 600 |
| 02/05/2020 15:16:30 | 700 |
| 02/05/2020 15:40:30 | NULL |
| 02/05/2020 15:45:30 | 800 |
| 02/05/2020 15:59:30 | 900 |
+---------------------+------+
结果
+---------------------+------+------+
| DATAORA | P1 | P2 |
+---------------------+------+------+
| 02/05/2020 15:00:30 | 100 | 600 |
| 02/05/2020 15:15:30 | 200 | NULL |
| 02/05/2020 15:16:30 | NULL | 700 |
| 02/05/2020 15:30:30 | 300 | NULL |
| 02/05/2020 15:40:30 | NULL | NULL |
| 02/05/2020 15:45:30 | NULL | 800 |
| 02/05/2020 15:59:30 | NULL | 900 |
| 02/05/2020 16:00:30 | 500 | NULL |
+---------------------+------+------+
【问题讨论】:
-
完全外连接怎么样?
-
稍微绕道......你已经有几个很好的答案,但我觉得我应该建议你不要对对象或列名使用保留字。 TIME 和 TIMESTAMP 都是 sql server 中的数据类型。此外,它们是如此模糊,以至于几乎是无用的列名。
-
发布您的尝试也是正常的,因此我们可以看到您采取的方向以及有效/无效的方法。
-
@SeanLange TIMESTAMP 和 TIME 我只用它们来创建示例,在 DB 中它们被称为 DataOra 和 Data
-
酷我也希望如此。 :D
标签: sql sql-server ms-access join full-outer-join