• 您的位置我爱Aspx >> 数据库 >> 关于论坛上那个SQL微软面试题。我的解答方法 :-)
  • 关于论坛上那个SQL微软面试题。我的解答方法 :-)

  • 作者:aspxer  来源:internet  日期:2007-5-22 0:31:20  关键字:sql,微软
  • 关于论坛上那个SQL微软面试题。我的解答方法 :-)

    问题:

    一百个账户各有100$,某个账户某天如有支出则添加一条新记录,记录其余额。一百天后,请输出每天所有账户的余额信息

    这个问题的难点在于每个用户在某天可能有多条纪录,也可能一条纪录也没有(不包括第一天)

    返回的记录集是一个100天*100个用户的纪录集

    下面是我的思路:

    1.创建表并插入测试数据:我们要求username从1-100

    CREATE TABLE [dbo].[TABLE2] (

    [username] [varchar] (50) NOT NULL , --用户名

    [outdate] [datetime] NOT NULL , --日期

    [cash] [float] NOT NULL --余额

    ) ON [PRIMARY

    declare @i int

    set @i=1

    while @i<=100

    begin

    insert table2 values(convert(varchar(50),@i),@#2001-10-1@#,100)

    insert table2 values(convert(varchar(50),@i),@#2001-11-1@#,50)

    set @i=@i+1

    end

    insert table2 values(convert(varchar(50),@i),@#2001-10-1@#,90)

    select * from table2 order by outdate,convert(int,username)

    2.组合查询语句:

    a.我们必须返回一个从第一天开始到100天的纪录集:

    如:2001-10-1(这个日期是任意的) 到 2002-1-8

    我对这篇文章有话说?
  • 广告位招租,广告代号:content_468_15
  • 上一篇:自动生成对表进行插入和更新的存储过程的存储过程
    下一篇:数据库设计及建模工具——ERwin简介