问个基础的问题:企业每个月的销售数据都保存到1个表,表名是YYMM(如1003就表示2010年3月)
每个表有两个字段:销售额,销售量我想建立一个查询,把销售额按照时间顺序依次排出来
该怎么做呢?

解决方案 »

  1.   

    select * from [1003]
    union all
    select * from [1002]
    union all
    ......
      

  2.   

    SELECT * FROM [1003] ORDER BY TIME ?
      

  3.   

    楼主用动态把表连接起来吧DECLARE @SQL VARCHAR(8000)
    SET @SQL=''
    SELECT @SQL=@SQL+'SELECT * FROM [' +NAME+'] UNION ALL' FROM 
    SYSOBJECTS WHERE 
    NAME LIKE '%[0-9][0-9][0-9][0-9]%' 
    ORDER BY NAME DESC
      

  4.   

    declare @sdate varchar(10),@sql varchar(8000)
    set @sdate='200901'
    select 
      @sql=isnull(@sql+' union all ','')
      +'select * from ['+convert(varchar(6),dateadd(mm,number,@sdate+'01'),112)+']'
    from master..spt_values 
    where type='P' and dateadd(mm,number,@sdate+'01')<=convert(varchar(6),getdate(),112)+'01'--print @sqlexec (@sql)
      

  5.   

    用union allselect * , '1001' dt from 1001
    union all
    select * , '1002' dt from 1002
    ...
    order by dt建议你更改表结构,把时间字段加入表,就没有这么麻烦了.