起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 225|回复: 14

范围判断问题**

[复制链接]
发表于 2008-4-4 13:50:45 | 显示全部楼层 |阅读模式
我在数据库首先创建了一个表,其中的字段如下:
关系符1  、小值、关系符2、大值、等级
数据比如:>    100        <=       200     一级
我在另一个表中根据几个值获得了一个结果数据,然后要从上面这个表中其所在范围对应的等级字段值,用什么方法可以实现呢?
回复

使用道具 举报

发表于 2008-4-5 10:41:36 | 显示全部楼层
我是这样理解你的描述,你在一个表中定义某个字段的约束用到另一个表的某个字段上,
如果是,读定义表的,根据自己的需求拼某个字段的约束条件,
设置某个字段的约束参考 http://bbs.justep.com/forum.php?mod=viewthread&tid=4499
或者:http://bbs.justep.com/forum.php?mod=viewthread&tid=19932
可以用"Expression" 在论坛上搜索
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-5 16:47:16 | 显示全部楼层
你是不是没有理解我的意思呢,我的意思是一共有两个表,第一个表用户存取范围描述内容,第二个表根据自己的某个字段取值如何判断其值是属于第一个表中哪个范围内?
回复 支持 反对

使用道具 举报

发表于 2008-4-7 08:44:39 | 显示全部楼层
看1楼的需求
如果想取一个范围,完全可以用拼sql的方式表现。

where 某字段>100 and  某字段<=200
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-7 08:54:13 | 显示全部楼层
你这种方法是可以,但是范围表中肯定不只这一条记录,有可能会有5个范围取值,也就是5条记录,那用这种方法是不是就不合适了呢?而且那个关系符也不一定,关系符1的取值有2个值(>、>=);关系符2也有2个值(<、<=),这样又如何取呢?
回复 支持 反对

使用道具 举报

发表于 2008-4-7 08:59:06 | 显示全部楼层
多and上几个,看楼主怎么定义的了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-7 10:00:29 | 显示全部楼层
我还是不太明白,怎么弄也得不出正确结果,麻烦你说的再详细一些好吗?我把两个表的数据结构写出来
等级设置:
         关系符1 、小值、关系符2、大值、等级
内容:                      <=       100       一级
            >              100          <=       200      二级
            >               200                                三级            
辨识:
L、C、D、E、等级
其中的E=L*C*D,然后根据E的结果上等级设置中去取等级字段值
即如果E=120,则对应的等级字段值应该是二级,如何实现呢?
回复 支持 反对

使用道具 举报

发表于 2008-4-7 10:11:31 | 显示全部楼层
应该反向找,从范围找值。这样效率比较高。
取出等级范围记录集
然后循环拼sql------    e>100 and e<=200     如果查询出有值,这个值就是二级的。把这行结果级标明是二级的。
如果按照楼主的意思,就必须把范围表循环一遍,一行一行去匹配。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-7 10:38:26 | 显示全部楼层
谢谢lixy啊,能再说的详细一点吗?你可以把具体实现步骤写出来吗?你写的循环拼这些东西我都不知道该写在哪?意思我明白点,但是就是没有具体实现的思路啊
回复 支持 反对

使用道具 举报

发表于 2008-4-7 11:44:47 | 显示全部楼层
楼主如果数据库比较熟,直接写存储过程好像更合适。如果写在x3上,效率太低了,需要不断的传输数据。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-10 13:16 , Processed in 0.040160 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表