【发布时间】:2019-12-27 13:26:07
【问题描述】:
我想从我创建的日期表中填写一个表中缺少的日期。
我有所有日期的第一个表是这个:
Dates
01/11/2018
02/11/2018
03/11/2018
我的数据的第二个表是这个:
Name Value Date
Go 1 01/11/2018
Go 3 02/11/2018
Ma 2 03/11/2018
我的最终输出应该是这样的:
Name Value Date
Go 1 01/11/2018
Go 3 02/11/2018
Go null 03/11/2018
Ma null 01/11/2018
Ma null 02/11/2018
Ma 2 03/11/2018
我尝试了完整的外部连接,但没有成功:
select b.name, a.d_date, b.value
from date_month a
full outer join namevalue b on a.d_date=b.d_date;
datemonth 是带有日期的表,namevalue 是带有名称的表。包含名称的表中至少有 300,000 个名称以及日期和值。
【问题讨论】:
-
做一个外连接!向我们展示您的查询尝试。
-
没用?您到底使用了什么查询 - 请发布它。我们无法读懂你的想法
-
你的数据库是什么?只有 2 值 GO 和 MA?还是更有价值?
-
select * from table2 t1, table2 t2 where 1= 1
-
在 Oracle 中,您可以使用“分区外连接”:blog.duncanworthy.me/sql/oracle-partitioned-outer-joins 或 rogertroller.com/2015/06/16/partitioned-outer-join
标签: sql oracle date join outer-join