select a.cola,
register=colb,
login=isnull(colbb,0)
from dt1
left join dt2
on dt1.cola=dt2.colaa

解决方案 »

  1.   

    我写的表结构对应为:
    Dt1:
    cola        register   colb
    2005-1-1   register    15
    2005-1-2   register    16
    2005-1-3   register    17Dt2:
    col aa     login    colbb
    2005-1-1   login    3
    2005-1-2   login    5
      

  2.   

    declare @T1 table(ldate datetime,lsort varchar(20),value int)
    declare @T2 table(ldate datetime,lsort varchar(20),value int)
    insert into @T1
    select
    '2005-1-1' ,  'register',    15
    union select
    '2005-1-2' ,  'register',    16
    union select
    '2005-1-3' ,  'register',    17
    insert into @T2
    select
    '2005-1-1',   'login',    3
    union select 
    '2005-1-2',   'login',    5
    /*
    如何能合并成
    时间         register    login
    2005-1-1     15          3
    2005-1-2     16          5
    2005-1-3     17          0
    */
    select a.ldate,a.value [register],isnull(b.lsort,0) [login] from @T1 a
    left join 
    @T2 b
    on b.ldate=a.ldate
      

  3.   

    ldate                                                  register    login                
    ------------------------------------------------------ ----------- -------------------- 
    2005-01-01 00:00:00.000                                15          login
    2005-01-02 00:00:00.000                                16          login
    2005-01-03 00:00:00.000                                17          0
      

  4.   

    select convert(varchar(10),a.ldate,120),
         a.value [register],isnull(b.lsort,0) [login] 
    from @T1 a
    left join 
    @T2 b
    on b.ldate=a.ldate//这样把日期类型保留成年-月-日格式
      

  5.   

    select a.cola,
    register=colb,
    login=isnull(colbb,0)
    from dt1
    left join dt2
    on dt1.cola=dt2.colaa