注册 登录
编程论坛 SQL Server论坛

怎么把空值显示为不空的值?

icedanceqiu 发布于 2014-11-19 15:14, 690 次点击
表1                           表2                              
XH   ID     XM           ID     BM
1    100    甲           101    545621
1    101    甲           105    21321
1    102    甲           108    5455
2    103    已           ...    ...
2    104    已
2    105    已
3    106    丙
3    107    丙
3    108    丙
3    109    丙
...  ...    ...

查询结果显示
XH   ID     XM      BM
1    100    甲      545621
1    101    甲      545621        
1    102    甲      545621      
2    103    已      21321
2    104    已      21321
2    105    已      21321
3    106    丙      5455
3    107    丙      5455
3    108    丙      5455
3    109    丙      5455
...  ...    ...     ...
这个要怎么写?
用 left join on 会有null显示,怎么把null 的以XH或者XM为条件 来赋予等于null的,最后显示就是上面那个
XH   ID     XM      BM
1    100    甲      null
1    101    甲      545621        
1    102    甲      null      
2    103    已      null
2    104    已      null
2    105    已      21321
3    106    丙      null
3    107    丙      null
3    108    丙      5455
3    109    丙      null

[ 本帖最后由 icedanceqiu 于 2014-11-20 13:56 编辑 ]
5 回复
#2
dyj5452014-11-19 19:25
看不懂。你写的语句什么样?
#3
tanxiaobin2014-11-19 22:06
我也看不懂到底想问什么,是不是只显示表1表2均存在的ID值,这样的话你把left join 改成 inner join吧,这样就不会有空值了,但是表1和表2之间的差异数据是不会显示出来
#4
tlliqi2014-11-19 22:35
isnull(列,null)=0
#5
mxbing19842014-11-20 10:48
Select A.*,Isnull(B.BM,A.XM) from 表1 A left Join 表2 B on A.ID=B.ID
#6
厨师王德榜2014-11-25 11:51
你看看帮助吧,看看isnull()函数的用法,你的问题就迎刃而解了,代码就不写了,"授之以渔",比"授之以鱼"要好.
1