首页 > 解决方案 > 根据时间范围拆分列

问题描述

我有两个具有这种结构的表:

表格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

标签: sqltsql

解决方案


用例不清楚。您能否详细说明问题陈述?

从您所解释的内容来看,这应该可以为您完成工作。

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;

但我真的怀疑这就是你要找的。


推荐阅读