step 1 : 
检查
select a.发票名称,sum(b.份数-c.交回份数) as 当前可用份数,a.最低库存  from  fp a,lq b,ff c 
 where a.发票编号=b.发票编号 and b.归档=false and b.编号=c.编号group by a.发票名称,a.最低库存 
有没有错

解决方案 »

  1.   

    to falaly(风雨) :
    你说的这部分没有错.
    报错信息是:语法错误(操作符丢失)
      

  2.   

    setp 2 :
    检查
    selet * from 
    (
    select a.发票名称,sum(b.份数-c.交回份数) as 当前可用份数,a.最低库存  from  fp a,lq b,ff c 
     where a.发票编号=b.发票编号 and b.归档=false and b.编号=c.编号group by a.发票名称,a.最低库存 
    ) aa
    where 当前可用份数 <= 最低库存 
    有没有错
      

  3.   

    having sum(b.份数-c.交回份数) <= a.最低库存having中不能用sum吧?
      

  4.   

    to  falaly(风雨) :
    还是不行.
    用的是access 数据库
      

  5.   

    select a.发票名称,sum(b.份数-c.交回份数) as 当前可用份数,a.最低库存
    from fp a
    inner join lq b on a.发票编号=b.发票编号  
    inner join ff c b.编号=c.编号
    where b.归档=false  
    and sum(b.份数-c.交回份数) <= a.最低库存
    group by a.发票名称,a.最低库存 
    因为5按你的意思每个发票编号只对应b和c可唯一的记录
    所以用了内联,如果不是可以试试外联
    祝你好运
      

  6.   

    step 2 报的错是什么?
      

  7.   

    step 2 报的错是:
    语法错误(操作符丢失)在查询表达式'a.发票编号=b.发票编号 and b.归档=false and b.编号 group by a.发票名称,a.最低库存'中.
      

  8.   

    step 3 :
    重新整理问题
    1 :
    select a.发票编号 , sum(b.份数-c.交回份数) as lNumber 
    form lq a , ff b where a.归档 = false and a.编号=b.编号
    group by a.发票编号
    会有个结果集 Res
    这样做是因为我不知道你几个表的关系
    2 :
    select a.发票名称,sum(lNumber) as 当前可用份数,a.最低库存 
    from fp a ,Res b
    where a.发票编号=b.发票编号 and b.当前可用份数 <= a.最低库存
    group by a.发票名称,a.最低库存
    这里你可以选择加与不加 "and b.当前可用份数 <= a.最低库存"这个条件测试注:我并没用过access数据库,如果问题仍然存在的话,
    step 3 只是把问题拆分了,希望能帮你找出问题的所在.
      

  9.   

    晕了,呵呵
    "and b.当前可用份数 <= a.最低库存" 去掉
    在 2 group by ......后面加
    having 当前可用份数 <= 最低库存 (可选测试条件)
    补充 : 解释"最低库存 "我有点理不清了!
    最坏的可能是结构有问题
      

  10.   

    to  falaly(风雨) :
    真的很谢谢你!!!我会按照你的提示再想想的.
    很想和你交个朋友.你有QQ吗?我的QQ是38421241
      

  11.   

    to  falaly(风雨) :
     问题已经解决,再次感谢你的帮助!