我有两个表 table1 和 table2。表 2 的行数少于表 1。在这两个表中,table1 中有两个日期列 caldate1,table2 中有两个日期列 caldate2。所以现在我需要加入这两个表并获得两个日期列的最大值并将其保存在新表中。但是,如果我们在这两个表上进行内部连接,则 table2 中不存在的 table1 行将不会进入最终表。所以我们需要一些类似的东西
table1
left outer join
table2
但是有一种情况是两个日期都为空。那么我可以在以下情况下使用合并来获取正确的数据吗..
1. table1 中的行在 table2 中不存在 -> 那么 table1 中的 caldate1 应该进入决赛桌。
2. table1 中的行在 table2 中,table1 的 caldate1 和 table2 的 caldate2 为空 -> 然后 null 应该进入最终表的日期列
3. table1 中的行在 table2 中,caldate1 不为空,caldate2 为空 -> 然后 caldate1 应该进入最终表。
4. table1 中的行在 table2 中,caldate1 为空,caldate2 不为空-> 那么 caldate2 应该进入最终表
5. table1 中的行在 table2 中并且 caldate1 大于 caldate2 -> caldate1 应该进入最终表
6. table1 中的行在 table2 中并且 caldate2 大于 caldate1 -> caldate2 应该进入最终表
我们不需要考虑 table2 中与 table1 不匹配的行。所以基本上我需要所有 table1 行,如果两个表中都有特定的行,则最新的 caldate。提前致谢。我无法获得正确的功能来做到这一点。它合并了吗?