对于数据库 SQL Server 2008,我有一个日期列表,这些日期要么在旺季,最高价,要么在淡季,低价。
我们只有三种与之相关的逗留期限,即周一至周一、周中周一至周五或周末周五至周一。
是否可以在一个范围内说它属于旺季或淡季?在这一刻,我们只有一个所有可能日期的列表以及它属于哪个季节。
对于数据库 SQL Server 2008,我有一个日期列表,这些日期要么在旺季,最高价,要么在淡季,低价。
我们只有三种与之相关的逗留期限,即周一至周一、周中周一至周五或周末周五至周一。
是否可以在一个范围内说它属于旺季或淡季?在这一刻,我们只有一个所有可能日期的列表以及它属于哪个季节。
对的,这是可能的。下面给出了一个如何做的例子,从提供的有限信息中对你的表格格式做出了很多假设。
select s.stayid,
(case when max(d.type) = min(d.type) the min(d.type)
when max(d.type) is null then 'NoSeason'
else 'Mixed'
end) as StayType
from Stays s left outer join
Days d
on d.date between s.start and s.end
group by s.stayid
这将查找与给定住宿相对应的所有日期。如果类型相同( 中的第一个子句case
),则使用它。如果没有匹配的日期,则没有信息。否则,日期类型是混合的。