首页新闻找找看学习计划

一个sql查询 省,市表查询出的数据合并成完整的,比如 广东省-广州市,问题如下

0
悬赏园豆:20 [待解决问题]

select p.name + '-' + c.name name from xdjd_Province p, xdjd_City c where p.code='210000' and c.code ='130600',

 

这样的话有个问题,如果p.code='0000000',这样不存在的省代码时候,这个数据就出不来,我希望的是,出不来的话,可以 -广州,城市出不来的话,广东省-     后面就是空

问题补充:

2条都为空的话,是 -,这2个表没有任何关联,各查各的,就是把2个结果合并下

小明同学的主页 小明同学 | 初学一级 | 园豆:12
提问于:2012-06-27 14:54
< >
分享
所有回答(4)
0

select p.name + '-' + c.name name from xdjd_Province p outer join xdjd_City c where p.code='210000' and c.code ='130600'

 

试下看,有语法问题适当修正下。

无之无 | 园豆:5085 (大侠五级) | 2012-06-27 14:57
0

结合case when  处理

po~饭盒 | 园豆:231 (菜鸟二级) | 2012-06-27 20:08
0

select case p.name when '000000' then ' ' else p.name end

+'-'+case c.name when '000000' then ' ' else c.name end

 name from xdjd_Province p, xdjd_City c where p.code='210000' or c.code ='130600' or  p.code='000000' and c.code='000000'

试试看

CharlesNet | 园豆:213 (菜鸟二级) | 2012-06-28 13:47
0
declare @Pname nvarchar(20) 
select @Pname = p.name from xdjd_Province p where p.code = '000000'

declare @Cname nvarchar(20) 
select @Cname = c.name from xdjd_City  c where c.code = '130600'

select ISNULL(@Pname, '') + ' - ' + ISNULL(@Cname, '')
gunsmoke | 园豆:3592 (老鸟四级) | 2012-07-05 13:12
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册