当前位置: 代码迷 >> Sql Server >> 两个表连接的有关问题,两天了,恳请帮助
  详细解决方案

两个表连接的有关问题,两天了,恳请帮助

热度:139   发布时间:2016-04-27 19:20:55.0
两个表连接的问题,两天了,恳请帮助
两个表结构如下:

a表

name zlname
------------------
中山 申报资料
东莞 记录资料
广州 ""
-------------------


b表

name bgname
-------------------
中山 表格资料
东莞 ""
广州 报到资料
惠州 ""
--------------------

现欲将上述两表合并成如下

name zlname bgname
---------------------------
中山 申报资料 表格资料
东莞 记录资料 ""
广州 "" 报到资料
惠州 "" ""
----------------------------

请问该如何书写SQL语句???




------解决方案--------------------
select a.name,zlname,bgname from a inner join b on a.name=b.name
------解决方案--------------------
SQL code
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,'') bgnamefrom tb1 a full join tb2 b on a.name=b.namedrop table tb1,tb2/*name                 zlname                                                       bgname                                                       -------------------- ------------------------ ------------------------ 中山                   申报资料                                                         表格资料东莞                   记录资料                                                         广州                                                                                报到资料惠州                                                                                (所影响的行数为 4 行)*/
------解决方案--------------------
SQL code
/*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
  相关解决方案