create table #t (d int)select a.d,b.*
from #t a left join your_table b on a.d=b.日期字段--drop table #t

解决方案 »

  1.   

    create table #t (d int)
    insert #t select 1 union select 2 union select 3 ...... union select 31select a.d,b.*
    from #t a left join your_table b on a.d=b.日期字段--drop table #t
      

  2.   

    有一个表是这样日期(DATE)  姓名(nvarchar)  是否上班(A)
    ----------------------------------------
    2004-7-1     张三           是
    2004-7-2     张三           是
    2004-7-6     张三           是
    2004-7-10    张三           是
    2004-7-3     李四           是
    2004-7-6     李四           是
    2004-7-8     王五           是
    2004-7-11    王五           是然后我要经过处理之后,变成日期(DATE)  姓名(nvarchar)  是否上班(A)
    ----------------------------------------
    2004-7-1     张三           是
    2004-7-2     张三           是
    2004-7-6     张三           是
    2004-7-10    张三           是
    2004-7-3     李四           是
    2004-7-6     李四           是
    2004-7-8     王五           是
    2004-7-11    王五           是2004-7-3     张三           否  (程序根据原来表里没有的日期补充进来的)
    2004-7-4     张三           否  
    2004-7-5     张三           否  
    2004-7-7     张三           否  (因为原来数据库中已存在2004-7-6,所以不用补)
    2004-7-8     张三           否  
    2004-7-9     张三           否  
    (李四,王五同理这样处理,用程序做循环很没效率,我想看看用SQL的命令是否可以效率高一点)