更新:
我最初使用 FULL OUTER JOIN 的尝试没有正常工作。我已经更新了问题以反映真正的问题。很抱歉提出了一个经典的XY 问题。
我正在尝试在一个查询中从多个表中检索数据集,该查询按数据的年、月分组。
最终结果应如下所示:
| 年份 | 月 | Col1 | Col2 | Col3 | |------+-------+------+------+------| | 2012 | 11 | 231 | - | - | | 2012 | 12 | 第534章 12 | 13 | | 2013 | 1 | - | 22 | 14 |
来自如下所示的数据:
表格1:
| 年份 | 月 | 数据 | |------+--------+------| | 2012 | 11 | 231 | | 2012 | 12 | 第534章
表 2:
| 年份 | 月 | 数据 | |------+--------+------| | 2012 | 12 | 12 | | 2013 | 1 | 22 |
表3:
| 年份 | 月 | 数据 | |------+--------+------| | 2012 | 12 | 13 | | 2013 | 1 | 14 |
我尝试使用FULL OUTER JOIN
,但这并不完全有效,因为在我的SELECT
子句中,因为无论我从哪个表中选择“年”和“月”,都有空值。
SELECT
Collase(t1.year,t2.year,t3.year)
,Collese(t1.month,t2.month,t3.month)
,t1.data as col1
,t2.data as col2
,t3.data as col3
From t1
FULL OUTER JOIN t2
on t1.year = t2.year and t1.month = t2.month
FULL OUTER JOIN t3
on t1.year = t3.year and t1.month = t3.month
结果是这样的(太混乱了,无法准确重复我使用此演示数据会得到的结果):
| 年份 | 月 | Col1 | Col2 | Col3 | |------+-------+------+------+------| | 2012 | 11 | 231 | - | - | | 2012 | 12 | 第534章 12 | 13 | | 2013 | 1 | - | 22 | | | - | 1 | - | - | 14 |