Sql server 根据表中的日期指定标记期间名称
我有一个表,有三列:每个报告期的开始和结束日期以及期间的名称。我还有第二张桌子,上面有很多日期。我正在尝试创建第三个表,其中包含第二个表中的日期和第一个表中的标记周期名称 我知道我可以通过将第一个表中的日期硬编码为一组CASE语句来实现这一点。有更好的方法吗?这应该可以:Sql server 根据表中的日期指定标记期间名称,sql-server,sql-server-2008,Sql Server,Sql Server 2008,我有一个表,有三列:每个报告期的开始和结束日期以及期间的名称。我还有第二张桌子,上面有很多日期。我正在尝试创建第三个表,其中包含第二个表中的日期和第一个表中的标记周期名称 我知道我可以通过将第一个表中的日期硬编码为一组CASE语句来实现这一点。有更好的方法吗?这应该可以: select t1.SomeDate, t2.PeriodName from Table1 t1 left join table2 t2 on t1.SomeDate >= t2.DateFrom and t1.Som
select t1.SomeDate, t2.PeriodName
from Table1 t1
left join table2 t2 on t1.SomeDate >= t2.DateFrom and t1.SomeDate <= t2.DateTo
我真的不知道您是否需要表2中的所有日期,即使表1中对应的name_期间为null,还是表1中的all name_期间,其中表2中的所有对应日期均为null。但是,请尝试以下任一方法: 创建表3,从表2中选择t2.start\u date、t2.end\u date、t1.period\u name,其中t2.start\u date=t1.start\u date或t2.end\u date=t1.end\u date 创建表3,从表2中选择t2.*,t1.period\u name,其中t2.start\u date=t1.start\u date或t2.end\u date=t1.end\u date
哦,天哪,真尴尬,我甚至用了同一个专栏name@Lamak,有时会发生: