select E.应收款,E.金额,E.客户名称,F.业务员ID from (select C.*,D.客户名称 from (select A.*,B.金额 from (select * from 应收款) A,(select 客户ID,sum([应收款]) as 金额 from (select * from 应收款) G group by 客户ID) B where A.客户ID=B.客户ID) C left join 客户资料 D on C.客户ID=D.客户ID) E left join 业务员资料 F on F.业务员ID=E.业务员ID order by E.客户名称上面语句在SQL查询分析里调试通过,但放到程序里面提示出错:"No Value given ......." 。数据库是Access。问Jet和SQL SERVER对上面语句执行有什么区别?

解决方案 »

  1.   

    可能是SQL语句过于复杂,可考虑分步操作。
      

  2.   

    看看这两句:
    select E.应收款,E.金额,E.客户名称,F.业务员ID from (select C.*,D.客户名称 from (select A.*,B.金额 from 应收款 A,(select 客户ID,sum([应收款]) as 金额 from 应收款 group by 客户ID) B where A.客户ID=B.客户ID) C left join 客户资料 D on C.客户ID=D.客户ID) E left join 业务员资料 F on F.业务员ID=E.业务员ID order by E.客户名称select E.应收款,E.金额,E.客户名称,F.业务员ID from (select C.*,D.客户名称 from (select A.*,B.金额 from (select * from 应收款) A,(select 客户ID,sum([应收款]) as 金额 from 应收款 group by 客户ID) B where A.客户ID=B.客户ID) C left join 客户资料 D on C.客户ID=D.客户ID) E left join 业务员资料 F on F.业务员ID=E.业务员ID order by E.客户名称第一句可以运行,第二句就不能运行,报那错误。问这是怎么回事?
      

  3.   

    两句区别就在"(select * from 应收款) A" 与 "应收款 A"