第一,看看你的被除数和除数是什么类型,是否类型匹配;第二,试试将除数>0改为除数<>0;第三,如果你的这句话是PB里的嵌入语句,末尾应该加分号;第四,你的语句里的命令有误,不是form,而是from。
检查一下吧,你的想法是没有问题的,估计问题出在小细节上。

解决方案 »

  1.   

    select * form mytable where (被除数/IsNull(NULLIF(除数,0),1))>5 and 除数>0
      

  2.   

    select * from mytable where 被除數/除數>5   不管是除數為0,還是被除數為0,都不顯示該行的
      

  3.   

    谢谢 97866(weiLuang)
    这样写是不会出错了,但是我想让“除数=0”的记录不参加运算,该如何做呢?
      

  4.   

    将除数>0这个条件放在前面
    select * form mytable where  除数>0 and 被除数/除数>5
      

  5.   

    select * from (select * form mytable where 除数>0) tem where 被除数/除数>5 
    这样绝对可行。:)
      

  6.   

    感谢 CrazyFor(蚂蚁) ,请问tem是什么?感谢zjcxc(邹建),我尝试过这样写,但有时行,有时不行,因为where条件很多,也没总结出规律来:(
      

  7.   

    select * form mytable where IsNull(除数,0)<>0  
                                and (被除数/IsNull(NULLIF(除数,0),1))>5
    Select 语句不是有个条件:IsNull(除数,0)<>0 吗,
    如果除数为0那Select语句条件当然不成立了 :)
      

  8.   

    select * form mytable where  除数<>0 and isnull(除数,0)<>0 and 被除数/isnull(nullif(除数,0),1)>5 
      

  9.   


    select * from (select * form mytable where 除数<>0 and isnull(除数,0)<>0) tem where 被除数/除数>5 其中这个tem是一各虚拟表,把(select * form mytable where 除数<>0 and isnull(除数,0)<>0)查询出来的数据当成一个表来操作