微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

比较每个月并为增量添加行

如何解决比较每个月并为增量添加行

我需要你的帮助,我无法构建正确的解决方案。

我有这张桌子:

日期 单位 货币
01.02.2021 TSS 美元
01.03.2021 TSS 美元
01.04.2021 TSS 美元
01.02.2021 UMM 美元
01.02.2021 FDS 美元
01.04.2021 FDS 美元
01.02.2021 POF 美元

与第一个月 01.02.2021 相比,我需要为每个月的每个缺失的 UNIT 填充行,例如 UNIT“TSS”。

预期结果:

日期 单位 货币
01.02.2021 TSS 美元
01.03.2021 TSS 美元
01.04.2021 TSS 美元
01.02.2021 UMM 美元
01.03.2021 UMM 美元
01.04.2021 UMM 美元
01.02.2021 FDS 美元
01.03.2021 FDS 美元
01.04.2021 FDS 美元
01.02.2021 POF 美元
01.03.2021 POF 美元
01.04.2021 POF 美元

所有比较都应与第一个月 01.02.2021

解决方法

您的结果包含第一列 date 的所有组合以及其他两列 unit/currency 的所有组合。使用cross join

select d.date,uc.unit,uc.currency
from (select distinct date from t) d cross join
     (select distinct unit,currency from t) uc
order by uc.unit,uc.currency,d.date;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。