表1 
id  name  衬衣  规格  
1    Tom   2    43
2    Mary  2    40
表2
id  name  春秋装  规格  
1    Tom   2      XXL
表1和表2里面的id有不同的,也有相同的我想输出的是id name  衬衣  规格 春秋装 规格 
1   Tom   2   43   2     XXL
2   Mary  2   40   0      Null谢谢大虾们指导..最好是一句sql..效率问题不考虑..因为数据不多 

解决方案 »

  1.   

    select t1.id,t1.name,t1.col3,t1.col4,nvl(t2.col3,0) col3,t2.col4 from t1 left join t2 on t1.id=t2.id
      

  2.   

    表1   
    id     name     衬衣    规格     
    1      Tom       2     43 
    2      Mary      2     40 
    表2 
    id     name     春秋装     规格     
    1      Tom       2        XXL 
    3      Mike      2        L
    表1和表2里面的id有不同的,也有相同的我想输出的是 id   name     衬衣     规格     春秋装   规格   
    1     Tom      2       43       2     XXL 
    2     Mary     2       40       0     Null 
    3     Mike     0       0        2      L
      

  3.   

    补充一点..我的环境的SQL Server 2000
      

  4.   

    SELECT DISTINCT nvl(t1.id,t2.id) as id,
                    nvl(t1.name,t2.name) as name,
                    nvl(t1.衬衣,t2.衬衣) as 衬衣,
                    nvl(t1.规格,t2.规格) as 规格,
                    nvl(t2.春秋装,0) as 春秋装,
                    t2.规格
      FROM t1
      FULL OUTER JOIN t2
                   ON T1.id = t2.id
      

  5.   

    SELECT t1.id,
           nvl(t1.name, 0) as name, 
           nvl(t1.衬衣, 0) as 衬衣, 
           nvl(t1.规格, 0) as 规格, 
           nvl(t2.春秋装, 0) as 春秋装, 
           nvl(t2.规格, 0) as 规格, 
      FROM t1 FULL OUTER JOIN t2 ON t1.id = t2.id;
      

  6.   

    SELECT t1.id,
           nvl(t1.name, t2.name) as name, 
           nvl(t1.衬衣, 0) as 衬衣, 
           nvl(t1.规格, 0) as 规格, 
           nvl(t2.春秋装, 0) as 春秋装, 
           nvl(t2.规格, 0) as 规格, 
      FROM t1 FULL OUTER JOIN t2 ON t1.id = t2.id;
      

  7.   

    前面两次错了.
    应该是
    SELECT nvl(t1.id, t2.id) as id,
           nvl(t1.name, t2.name) as name,
           nvl(t1.type1, 0) as 衬衣,   
           nvl(t1.size1, 0) as 规格,   
           nvl(t2.type2, 0) as 春秋装,   
           nvl(t2.size2, 0) as 规格
     FROM  t1 FULL OUTER JOIN t2 ON t1.id = t2.id;我已经试过了.