表1
 aa   bb 
 1月  12
 2月  25
 4月  58表2
 cc   dd
 1月  88
 2月  85
 3月  96
想得到 
表3
 aa   bb   cc  dd 
 1月  12  1月  88
 2月  85  2月  25
          3月  96
 4月  58

解决方案 »

  1.   

    select * from tab1 full join tab2 on tab1.aa = tab2.cc
      

  2.   

    --测试
    create table table1
    (
    aa varchar(6),
    bb int
    )create table table2
    (
    cc varchar(6),
    dd int
    )insert into table1 select  '1月',  12
    insert into table1 select  '2月',  25
    insert into table1 select  '4月',  58insert into table2 select '1月',  88
    insert into table2 select '2月',  85
    insert into table2 select '3月',  96--查询
    select * from table1 full join table2 on table1.aa = table2.cc--结果:
    1月 12 1月 88
    2月 25 2月 85
    NULL NULL 3月 96
    4月 58 NULL NULL
      

  3.   

    select * from tab1 full join tab2 on tab1.aa = tab2.cc后面还可以加个连接关系吗?因为数据库有多个关联!
      

  4.   

    这个意思?
    select * from tab1 full join tab2 on tab1.aa = tab2.cc and ...
      

  5.   

    DECLARE @T1 TABLE(AA VARCHAR(50), BB INT)
    DECLARE @T2 TABLE(CC VARCHAR(50), DD INT)INSERT INTO @T1
    SELECT '1月', 12
    UNION
    SELECT '2月', 25
    UNION
    SELECT '4月', 58INSERT INTO @T2
    SELECT '1月', 88
    UNION
    SELECT '2月', 85
    UNION
    SELECT '3月', 96
    SELECT * FROM
    @T1 AS A
    FULL JOIN
    @T2 AS B
    ON A.AA = B.CC
      

  6.   

    多个表的话,把上面的SELECT语句修改一下比如还有一个
    DECLARE @T3 TABLE(EE VARCHAR(50), FF INT)SELECT * FROM
    @T3 AS C
    FULL JOIN
    @T2 AS B
    FULL JOIN
    @T1 AS A
    ON A.AA = B.CC
    ON B.CC = C.EE以次类推