asp数据库问题

[复制链接]
查看11 | 回复5 | 2009-8-2 18:49:01 | 显示全部楼层 |阅读模式
以下表达式语法错误 但我想实现它所表达的功能 怎么实现呢?
select * from mdb where (if 条件1 then 成绩>90)and(if 条件2 then 学校="北大")
两个条件的关系 是and 即有四种组合 需要四条if语句实现
条件1满足 and 条件2满足select * from mdb where 成绩>90 and 学校="北大"
条件1满足 and 条件2不满足 select * from mdb where 成绩>90
条件1不满足 and 条件2满足 select * from mdb where 学校="北大"
条件1不满足 and 条件2不满足 select * from mdb
但是如果条件再多,if语句成倍增多,此方法有些笨,有没有优化的一些代码呢?
gxqzw用了四条select语句,如果依次增加到5个条件岂不是需要32条select语句!我意思是能不能优化代码使之简单一些。

回复

使用道具 举报

千问 | 2009-8-2 18:49:01 | 显示全部楼层
开始不明白你要的,给你修改了一下——————————————————————————————分开写代码就可以了啊,if 条件1 and 条件2 thenrs=select * from mdb where 成绩>90 and 学校="北大"elseif 条件1 then rs=select * from mdb where 成绩>90elseif 条件2 then rs=select * from mdb where 学校="北大elsers=select * from mdb这样是完整的代码了,你把对应的条件改好,直接就可以用了!感谢大家的支持哈,嘿嘿~~~...
回复

使用道具 举报

千问 | 2009-8-2 18:49:01 | 显示全部楼层
if 条件1 a=" and 成绩>90" else a="" end ifif 条件2 b=" and 学校="北大"" else b="" end ifselect * from mdb where 条件3 a b注:条件3自己设定的永远成立,以上是原理表达式,具体代码自己还需根据语法写...
回复

使用道具 举报

千问 | 2009-8-2 18:49:01 | 显示全部楼层
赞同gxqzw,没必要非把查询语句用编程的方式写出来才显得有水平。...
回复

使用道具 举报

千问 | 2009-8-2 18:49:01 | 显示全部楼层
顶gxqzw,如果这也想偷懒,你也别来这问了,自己去开发一个程序~想怎滴就怎地~...
回复

使用道具 举报

千问 | 2009-8-2 18:49:01 | 显示全部楼层
好像要用到sql的case when条件语句...
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行