sql - 带有日期列的完全外部自联接
问题描述
我有一个包含每周数据的表,其中有一列用于识别数据在一周内的加载时间。
这是样本数据
====================
Load_Date |Code
====================
1 Oct 2018 |875465
8 Oct 2018 |875465
15 Oct 2018 |875465
此外,该表包含所有 52 周的数据,因此如果我执行 a DISTINCT Load_Date
,它会为我提供 52 行包含每周日期的数据。
我正在尝试将表格与自身连接起来,以便我可以确定周数where Code IS NULL
。
我尝试形成的查询是
SELECT * FROM
(--Query to get all distinct weeks
SELECT DISTINCT LOAD_DATE FROM ztable
) dates
FULL OUTER JOIN
(
SELECT DISTINCT CODE, LOAD_DATE
FROM ztable
) z
ON z.LOAD_DATE = dates.LOAD_DATE
我也尝试过使用左连接,但每个记录code
的数量是表中的行数code
,而不是 52行
。例如,如果code
有 3 行,那么我将只看到 3 行与此连接。
我错过了什么?
解决方案
我认为您正在尝试查找不存在的code
/组合。load_date
根据您的描述(不是示例代码),我认为这是:
select d.load_date, c.code
from (select distinct load_date from t) d cross join
(select distinct code from t) c left join
t
on d.load_date = t.load_date and c.code = t.code
where t.code is null;
推荐阅读
- email - Thunderbird:一直要求我添加安全例外
- r - 如何将列拆分为多列
- javascript - 同时滑动切换和动画(jQuery)
- python - Python Django End_of_file
- c++ - 在 C++ 中转换为另一个类
- javascript - Rails 6 和 Vue 组件
- powershell - 打开 PowerShell 的 CMD 命令不起作用
- ios - 无法使用 ResearchKit 归档项目,但可以在模拟器和设备上成功运行
- delphi - 如何在 Delphi 中即时更改 TOpenDialog 的 UI 语言?
- javascript - 在 React 中通过 handleClick 切换显示的 div