select Date=convert(char(10),a.Time,120),b.TimeType,a.ID
from AmountTime a,TimeType b
where convert(char(5),a.Time,108) 
between convert(char(5),cast(b.TimeStart as datetime),108)
and convert(char(5),cast(b.TimeEnd as datetime),108)

解决方案 »

  1.   

    7:00 规范成 07:00这样就可以直接写成:
    select Date=convert(char(10),a.Time,120),b.TimeType,a.ID
    from AmountTime a,TimeType b
    where convert(char(5),a.Time,108) 
    between b.TimeStart and b.TimeEnd
      

  2.   

    AmountTime是记录表,TimeType是时间类型表,我想得到的结果是每天有些什么人来过,是A类,还是B类...(这样说是否清楚一点)
      

  3.   

    select 
       convert(varchar(10) ,c.Time ,120) as Date,
       c.TimeType
       c.ID
    from
       (select 
            b.TimeType ,
            a.* 
        from 
            AmountTime a , 
            TimeType b 
        where 
            convert(varchar(5),a.Time,108) between right('0'+b.TimeStart , 5) and right('0'+b.TimeEnd , 5) ) c
    group by
        convert(varchar(10) ,c.Time ,120) , c.TimeType
    order by 
        convert(varchar(10) ,c.Time ,120) , c.TimeType