0

对于数据库 SQL Server 2008,我有一个日期列表,这些日期要么在旺季,最高价,要么在淡季,低价。

我们只有三种与之相关的逗留期限,即周一至周一、周中周一至周五或周末周五至周一。

是否可以在一个范围内说它属于旺季或淡季?在这一刻,我们只有一个所有可能日期的列表以及它属于哪个季节。

4

1 回答 1

0

对的,这是可能的。下面给出了一个如何做的例子,从提供的有限信息中对你的表格格式做出了很多假设。

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),则使用它。如果没有匹配的日期,则没有信息。否则,日期类型是混合的。

于 2012-10-06T16:00:14.920 回答