请教一个sql 语句:我现在有两个表 表结构是一样的 
表一:归属编号  名称
      1        建筑
      1        装饰 
表二: 归属编号 名称
      1        建筑
      1        安装
现在我想得到新表: 归属编号 名称一   名称二
                   1       建筑     建筑
                   1       装饰     null
                   1       null     安装
能得到不?

解决方案 »

  1.   


    declare @A table(ParentID int, uName varchar(10))
    declare @B table(ParentID int, uName varchar(10))
    insert into @A select 1,'建筑'
    insert into @A select 1,'装饰'
    insert into @B select 1,'建筑'
    insert into @B select 1,'安装'select ParentID = ISNULL(A.ParentID,B.ParentID),A.uNAME,B.uNAME 
    from @A A FULL JOIN @B B ON A.PARENTID = B.PARENTID AND A.uName = B.uName
      

  2.   


    ParentID    uNAME      uNAME
    ----------- ---------- ----------
    1           建筑         建筑
    1           装饰         NULL
    1           NULL       安装(3 行受影响)
      

  3.   


    declare @A table(ParentID int, uName varchar(10))
    declare @B table(ParentID int, uName varchar(10))
    insert into @A select 1,'建筑'
    insert into @A select 1,'装饰'
    insert into @B select 1,'建筑'
    insert into @B select 1,'安装'select ParentID = ISNULL(A.ParentID,B.ParentID),NAME1 = A.uNAME,NAME2 = B.uNAME 
    from @A A FULL JOIN @B B ON A.PARENTID = B.PARENTID AND A.uName = B.uName
    /*
    --结果
    ParentID    NAME1      NAME2
    ----------- ---------- ----------
    1           建筑         建筑
    1           装饰         NULL
    1           NULL       安装(3 行受影响)
    */
      

  4.   

    declare @A table(ParentID int, uName varchar(10))
    declare @B table(ParentID int, uName varchar(10))
    insert into @A select 1,'建筑'
    insert into @A select 1,'装饰'
    insert into @B select 1,'建筑'
    insert into @B select 1,'安装'select ParentID = ISNULL(A.ParentID,B.ParentID),NAME1 = A.uNAME,NAME2 = B.uNAME 
    from @A A FULL JOIN @B B ON A.PARENTID = B.PARENTID AND A.uName = B.uName
    /*
    --结果
    ParentID    NAME1      NAME2
    ----------- ---------- ----------
    1           建筑         建筑
    1           装饰         NULL
    1           NULL       安装(3 行受影响)
    */
      

  5.   

    用full join
    但是这样的表真是怪怪的哩