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
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
ParentID uNAME uNAME
----------- ---------- ----------
1 建筑 建筑
1 装饰 NULL
1 NULL 安装(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 行受影响)
*/
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 行受影响)
*/
但是这样的表真是怪怪的哩