假设我有 2 个表,如下所示:
表格1:
表 2:
我想将 2 个表连接在一起,以便输出表将有一个“日期”列、一个来自 table1 的“hrs_billed_v1”列和一个来自table2的“ hrs_billed_v2 ”列。有时一个日期只存在于其中一个表中,有时一个日期存在于两个表中。如果 table1 和 table2 中都存在日期,那么我想将table1中的hrs_billed_v1和 table2 中的hrs_billed_v2分配到输出表。
所以理想的结果应该是这样的:
我试过“FULL OUTPUT JOIN”,但它在输出表中为“date”返回了一些空值。以下是我写的查询:
SELECT
DISTINCT CASE WHEN table1.date is null then table2.date WHEN table2.date is null then table1.date end as date,
CASE WHEN table1.hrs_billed_v1 is null then 0 else table1.hrs_billed_v1 END AS hrs_billed_v1,
CASE WHEN table2.hrs_billed_v2 is null then 0 else table2.hrs_billed_v2 END AS hrs_billed_v2
FROM table1
FULL OUTER JOIN table2 ON table1.common = table2.common
请注意,我用来连接 table1 和 table2 的“公共”列只是两个表中都存在的常量字符串。
任何建议将不胜感激!