请大家帮忙看一下 下面这个语句 ,在ACCESS中测试通不过,提示是  “FROM子句语法错误”
SELECT b.*,a.[购电量(kWh)], a.购电日期,a.[调剂电量(kWh)],a.售电员,a.现金余额,a.备注, yhlx.单价 FROM [ select * from sdjl where 用户编号 = 33011 ].as a INNER JOIN [ select * from  yhxx  where 用户编号 = 33011 ]. as b INNER JOIN yhlx ON a.用户编号 = b.用户编号 and b.用户类型 = yhlx.用户类型 where  购电日期=(select max(购电日期) from sdjl where 用户编号= b.用户编号)  and b.用户编号 = 33011

解决方案 »

  1.   


    SELECT b.*,a.[购电量(kWh)], a.购电日期,a.[调剂电量(kWh)],a.售电员,a.现金余额,a.备注, yhlx.单价 FROM (((select * from sdjl where 用户编号 = 33011) as a INNER JOIN (select * from  yhxx  where 用户编号 = 33011) as b on a.用户编号 = b.用户编号) INNER JOIN yhlx on b.用户类型 = yhlx.用户类型) where a.购电日期=(select max(购电日期) from sdjl where 用户编号= b.用户编号) and b.用户编号 = 33011
    注意From后面括号的使用,还有你的结贴率!
      

  2.   

    CITYBIRD,你答的很对,还有一个问题想问一下。
    我首先把以下代码 贴到 ACCESS的查询中,运行通过
    SELECT b.*,a.[购电量(kWh)], a.购电日期,a.[调剂电量(kWh)],a.售电员,a.现金余额,a.备注, yhlx.单价 FROM (
    (( select * from sdjl where 用户编号 = 33011 ) as a INNER JOIN ( select * from  yhxx  where 用户编号 = 33011 ) as b  ON a.用户编号 = b.用户编号 )
    INNER JOIN yhlx ON b.用户类型 = yhlx.用户类型)
     where  购电日期=(select max(购电日期) from sdjl where 用户编号= b.用户编号)  and b.用户编号 = 33011
    但是当我在ACCESS中保存过后,代码变成了
    SELECT b.*, a.[购电量(kWh)], a.购电日期, a.[调剂电量(kWh)], a.售电员, a.现金余额, a.备注, yhlx.单价
    FROM ([select * from sdjl where 用户编号 = 33011 ] AS a INNER JOIN [select * from  yhxx  where 用户编号 = 33011 ] AS b ON a.用户编号=b.用户编号) INNER JOIN yhlx ON b.用户类型=yhlx.用户类型
    WHERE 购电日期=(select max(购电日期) from sdjl where 用户编号= b.用户编号)  and b.用户编号 = 33011;
    此时,再运行,不能通过。请问为什么代码会发生变化。