select * from 出入情况表 t where not exists(select 1 from 出入情况表 where datediff(dd,t.日期,日期)>0)

解决方案 »

  1.   

    select * from tb t where 日期 = (select top 1 日期 from tb order by 日期 desc)
      

  2.   

    select * from 出入情况表 a where 日期=(select max(ID) from 出入情况表 where datediff(dd,t.日期,日期)>0)
      

  3.   

    select * from 出入情况表 a where 日期=(select max(日期) from 出入情况表 where datediff(dd,t.日期,日期)>0)
      

  4.   


    select * from 出入情况表 a where 日期=(select max(日期) from 出入情况表 where datediff(dd,a.日期,日期)>0)
      

  5.   

    create table #TT
    (
      日期 Datetime,
      数据1 int,
      数据2 int
    )
    insert into #TT select '2009-06-01',1000,600
    insert into #TT select '2009-06-01',342,788
    insert into #TT select '2009-06-02',45,566
    insert into #TT select '2009-07-07',80,90
    insert into #TT select '2009-07-07',90,100 select * from #TT where 日期 in(select max(日期) 日期 from #TT )日期                      数据1         数据2
    ----------------------- ----------- -----------
    2009-07-07 00:00:00.000 80          90
    2009-07-07 00:00:00.000 90          100(2 行受影响)
      

  6.   

    感谢各位答复,我作用视图用的,如果我视图
    create 视图1 as
    select * from 出入情况表 a where 日期=(select max(ID) from 出入情况表 where datediff(dd,t.日期,日期)>0)select * from 视图1 where 日期 >='2009-06-01' and 日期 <='2009-06-02' 出来的数据不对啊
      

  7.   

    --你这里要传参数,最好用存储过程。如:
    create proc p_wsp
    @star datetime
    @end datetime
    as
        select * from 出入情况表 a where 日期=(select max(日期) from 出入情况表
        where 日期 between @star and @end) 
      

  8.   


    --你这里要传参数,最好用存储过程。如:
    create proc p_wsp
    @star datetime,--掉了逗号 
    @end datetime
    as
        select * from 出入情况表 a where 日期=(select max(日期) from 出入情况表
        where 日期 between @star and @end) 
      

  9.   

    很简单的:
    select * from 出入情况表 t where not exists(select 1 from 出入情况表 where datediff(dd,t.日期,日期)>0)