首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

两表合成有关问题

2012-09-14 
两表合成问题有两表:TB1codenameBS003钟小姐BS005林先生BS008黄先生TB2codequ1qu2BS0031.012.0BS0052.022.

两表合成问题
有两表:
TB1
codename
BS003钟小姐
BS005林先生
BS008黄先生

TB2
code qu1qu2
BS003 1.012.0
BS005 2.022.0

现想把两表合成得到如下表:
codename qu1qu2
BS003钟小姐 1.012.0
BS005林先生 2.022.0
BS008黄先生

我用select a.code,a.name,b.qu1,b.qu2 from tb1 a,tb2 b where a.code=b.code结果为空!
用select a.code,a.name,b.qu1,b.qu2 from tb1 a full join tb2 b on a.code=b.code结果为:
codename qu1qu2
BS003钟小姐  
BS005林先生
BS008黄先生

用select a.code,a.name,b.qu1,b.qu2 from tb1 a full join tb2 b on a.code=b.code结果为:
codename qu1qu2
BS003钟小姐  
BS005林先生
BS008黄先生
NULLNULL 1.012.0
NULLNULL 2.022.0

请教如何写?

[解决办法]

SQL code
select a.code,a.name,isnull(b.qu1,'') qu1,isnull(b.qu2,'') qu2 from TB1 aleft join TB2 bon a.code=b.code
[解决办法]
select *,b.qu1,b.qu2 from tb1 a left join tb2 b on a.code = b.code
[解决办法]
SQL code
select a.code,a.name,b.qu1,b.qu2 from tb1 a full join--此处full join全连接换成左连接left join tb2 b on a.code=b.code
[解决办法]
SQL code
select a.code,a.name,b.qu1,b.qu2 from tb1 a full join--此处full join全连接换成左连接left join tb2 b on a.code=b.code
[解决办法]
事实上,这样的情况是因为tb1中的code不等于tb2中的code。
可能是空格,可能是字段类型。这样看数据库的规则设置了。

热点排行
Bad Request.