在SQL Server中如何列出高低季节

时间:2012-10-06 12:12:48

标签: sql sql-server-2008

对于数据库SQL Server 2008,我有一个日期列表,包括旺季,最高价格或淡季,低价格。 我们只有三种类型的逗留时间,它是相关的,星期一到星期一,周中周一到周五,或周末周五到星期一 是否可以说它属于旺季或低潮。 在这一刻,我们列出了所有可能的日期以及它属于哪个季节。 如果需要更多信息,我会分享。

1 个答案:

答案 0 :(得分: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中的第一个子句),则使用它。如果没有匹配日,则没有信息。否则日间类型是混合的。