日期:2014-05-18 浏览次数:20534 次
create table tb1( name nvarchar(20), zlname nvarchar(60) ) insert into tb1 values(N'中山',N'申报资料') insert into tb1 values(N'东莞',N'记录资料') insert into tb1 values(N'广州',N'') create table tb2( name nvarchar(20), bgname nvarchar(60) ) insert into tb2 values(N'中山','表格资料') insert into tb2 values(N'东莞','') insert into tb2 values(N'广州','报到资料') insert into tb2 values(N'惠州','') select isnull(a.name,b.name) name,isnull(a.zlname,'') zlname,isnull(b.bgname,'') bgname from tb1 a full join tb2 b on a.name=b.name drop table tb1,tb2 /* name zlname bgname -------------------- ------------------------ ------------------------ 中山 申报资料 表格资料 东莞 记录资料 广州 报到资料 惠州 (所影响的行数为 4 行) */
------解决方案--------------------
/* create table # ([name] varchar(6),zlname varchar(12)) INSERT INTO # VALUES ('中山','申报资料') INSERT INTO # VALUES ('东莞','记录资料') INSERT INTO # VALUES ('广州','') create table s ([name] varchar(6),bgname varchar(12)) INSERT INTO s VALUES ('中山','表格资料') INSERT INTO s VALUES ('东莞','') INSERT INTO s VALUES ('广州','报到资料') INSERT INTO s VALUES ('惠州','') */ /* name zlname bgname --------------------------- 中山 申报资料 表格资料 东莞 记录资料 " " 广州 " " 报到资料 惠州 " " " " */ select s.name,zlname,bgname from # full join s on #.name=s.name