免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1831 | 回复: 9
打印 上一主题 下一主题

这样的sql语句应该怎么写??高手过来帮帮忙吧 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-11-30 10:46 |只看该作者 |倒序浏览
假设 库lb里面有两个number型的字段nm1,nm2,还有一个char型的字段ch
我希望检索到 nm1/nm2 为1的ch
--------------------------
select ch
from lb
where nm1/nm2 =1
--------------------------

需要实现的是很简单的检索,但是现在有个问题,就是当nm2为零的时候,会报错,所以我希望当nm2为零的时候,让nm1/nm2返回0,这种sql能实现吗?具体应该怎么写呢?

拜托知道的人给点思路吧,我sql初学,不太懂!~谢了

论坛徽章:
0
2 [报告]
发表于 2006-11-30 10:58 |只看该作者
select ch
from lb
where nm1 =1 or nm2=1;

你下面说的报错,没看懂,不知道什么意思,呵呵

论坛徽章:
0
3 [报告]
发表于 2006-11-30 11:09 |只看该作者
。。晕
nm1/nm2 这个指的是商
被除数为零肯定报错撒

论坛徽章:
0
4 [报告]
发表于 2006-11-30 11:36 |只看该作者
select ch
from lb
where nm1 =nm2;

论坛徽章:
0
5 [报告]
发表于 2006-11-30 14:58 |只看该作者
select ch
from lb
where nm1/nm2 =1
and nm2<>0

论坛徽章:
0
6 [报告]
发表于 2006-12-01 10:14 |只看该作者
取出来再处理

论坛徽章:
0
7 [报告]
发表于 2006-12-01 11:19 |只看该作者
select ch
from lb
where nm1/decode(nm2,0,3.14159,nm2) =1

论坛徽章:
0
8 [报告]
发表于 2006-12-01 12:07 |只看该作者
where decode(nm2,0,0,nm1/nm2) = 1

论坛徽章:
0
9 [报告]
发表于 2007-03-20 17:39 |只看该作者

回复 1楼 huting974 的帖子

我给个比较笨的方法:
select * from
(select nm1 org_num1, nm2 org_num2, decode(nm2,0,0,nm1) number1, decode(nm2,0,1,nm2) number2 from lb)
where number1/number2 = 1

呵呵

论坛徽章:
0
10 [报告]
发表于 2007-03-21 21:30 |只看该作者
大家都很笨。变通一点嘛

nm1/nm2 =1这个条件就是意思是nm1=mm2的时候,查询数据嘛

select ch
from lb
where nm1  in (select nm2 from lb)

这样原型不就出来了嘛。0也没关系
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP