sql - 根据时间范围拆分列
问题描述
我有两个具有这种结构的表:
表格1:
Datefrom Dateto DIM_code
20160101 20161231 dim_1
20170101 20191231 dim_2
表 2:
Date DIM_code
20160217 20
20170519 37
我需要这样的表:
表 - 结果:
Date dim_1 dim_2
20160217 20
20170519 37
解决方案
用例不清楚。您能否详细说明问题陈述?
从您所解释的内容来看,这应该可以为您完成工作。
SELECT t2.Date,
(CASE WHEN t2.DIM_code=20 THEN t2.DIM_code END) AS dim_1,
(CASE WHEN t2.DIM_code=37 THEN t2.DIM_code END) AS dim_2
FROM Table2 t2 JOIN
Table1 t1
WHERE t2.Date between t1.Datefrom AND t1.Dateto;
但我真的怀疑这就是你要找的。
推荐阅读
- javascript - 解决功能组件中的“对象作为 React 子项无效(找到:[object Promise])”
- symfony - 呈现表单时忽略我的自定义表单类型模板
- android - Android:将整数转换为设置颜色。这可能吗?
- git - 为什么 Unity 的 .gitignore 文件会省略 .unitypackage 文件?
- swiftui - SWIFTUI:仅获取日期
- firebase - 在 Vue CLI 项目中初始化 Firebase 和 ServiceWorkert 时,移动网页为空白
- ios - Xcode 的助理代码编辑器中是否有“简化”的代码视图?
- r - 如果两个dfs中的两个“age”变量在R中匹配,如何将新列添加到作为变量“hr”的-ln的数据框中?
- wordpress - How to use upgrader_process_complete hook in WordPress to check for spcific plugin update
- google-classroom - 如果我使用与我共享的表单在 Google 课堂上创建作业,谁会看到提交的内容?