select isnull(isnull(a.key_id,b.key_id),c.key_id) key_id,
       a.qty,b.qty,c.qty
from table_1 a full join table_2 b on a.key_id=b.key_id
 full join table_3 c on a.key_id=c.key_id

解决方案 »

  1.   

    select key_Id=isnull(a.key_id,isnull(b.key_id,c.key_id)),
           table_1=a.qty,
           table_2=b.qty,
           table_3=c.qty
    from table1 a full join table2 b on a.key_id=b.key_Id
                  full join table3 c on a.key_id=c.key_id
      

  2.   


    select key_id,table_1=sum(table_1),table_2=sum(table_2),table_3=sum(table_3)
    from(
    select key_id,table_1=qty,table_2=0,table_3=0 from table_1
    union all
    select key_id,table_1=0,table_2=qty,table_3=0 from table_2
    union all
    select key_id,table_1=0,table_2=0,table_3=qty from table_3
    )a group by key_id
      

  3.   

    select key_id=(COALESCE(a.key_id,b.key_id,c.key_id))
           ,table_1=isnull(a.qty,'')
           ,table_2=isnull(b.qty,'')
           ,table_3=isnull(c.qty,'')
    from table_1 a full join table_2 b on a.key_id=b.key_id
                   full join table_3 c on a.key_id=c.key_id
      

  4.   

    select a.key_id,
           b.qty as table_1,
           c.qty as table_2,
           d.qty as table_3
    from ( select key_id from table1 
           union 
           select key_id from table2 
           union 
           select key_id from table3
         ) a left join table1 b on a.key_id=b.key_id 
             left join table2 c on a.key_id=c.key_id
             left join table3 d on a.key_id=d.key_id