下面这个SQL语句 有什么错误:
SELECT 表号, 户号, 姓名, 区编, 楼编, 单元号, 房间号, 购电次数, [购电量(kWh)], C.用户类型, 现金余额, 总购电量, yhlx.单价, 限电功率, 闪烁提醒
FROM
 (
[select 表号,户号,姓名,区编,楼编,单元号,房间号,购电次数,用户类型,总购电量,限电功率,闪烁提醒  from yhxx where 表号 = 8 and 户号 = 1 and 用户状态 = 0]. AS c
INNER JOIN 
[select 用户表号,用户户号,用户姓名, 购电类型,[购电量(kWh)],现金余额 from sdjl  where 用户表号 = 8 and 用户户号 = 1 ]. AS d
 ON (c.姓名  = D.用户姓名) AND (c.户号 = d.用户户号) AND (C.表号 = D.用户表号)

INNER JOIN yhlx ON C.用户类型 = yhlx.用户类型
Inner join louhao on  c.区编 = louhao.小区名称
Inner join xiaoqu on  c.楼编 = xiaoqu.楼号 

解决方案 »

  1.   

    FROM 

    [select 表号,户号,姓名,区编,楼编,单元号,房间号,购电次数,用户类型,总购电量,限电功率,闪烁提醒  from yhxx where 表号 = 8 and 户号 = 1 and 用户状态 = 0]. AS c 
    INNER JOIN 
    [select 用户表号,用户户号,用户姓名, 购电类型,[购电量(kWh)],现金余额 from sdjl  where 用户表号 = 8 and 用户户号 = 1 ]. AS d 
    ON (c.姓名  = D.用户姓名) AND (c.户号 = d.用户户号) AND (C.表号 = D.用户表号) 

    这里错了
      

  2.   

    SELECT 表号, 户号, 姓名, 区编, 楼编, 单元号, 房间号, 购电次数, [购电量(kWh)], C.用户类型, 现金余额, 总购电量, yhlx.单价, 限电功率, 闪烁提醒 
    FROM 

    [select 表号,户号,姓名,区编,楼编,单元号,房间号,购电次数,用户类型,总购电量,限电功率,闪烁提醒  from yhxx where 表号 = 8 and 户号 = 1 and 用户状态 = 0] AS c 
    INNER JOIN 
    [select 用户表号,用户户号,用户姓名, 购电类型,[购电量(kWh)],现金余额 from sdjl  where 用户表号 = 8 and 用户户号 = 1 ] AS d 
    ON (c.姓名  = D.用户姓名) AND (c.户号 = d.用户户号) AND (C.表号 = D.用户表号) 

    INNER JOIN yhlx ON C.用户类型 = yhlx.用户类型 
    Inner join louhao on  c.区编 = louhao.小区名称 
    Inner join xiaoqu on  c.楼编 = xiaoqu.楼号 
      

  3.   

    [....]. AS c
    [....]. AS d毛病很多:
    1. []应换成()
    2. 括号后的.应去掉
    3. ON (c.姓名  = D.用户姓名) AND (c.户号 = d.用户户号) AND (C.表号 = D.用户表号) 改为
        ON (c.姓名  = D.用户姓名 AND c.户号 = d.用户户号 AND C.表号 = D.用户表号)
      

  4.   

    SELECT 表号, 户号, 姓名, 区编, 楼编, 单元号, 房间号, 购电次数, [购电量(kWh)], C.用户类型, 现金余额, 总购电量, yhlx.单价, 限电功率, 闪烁提醒
    FROM
    (
    [select 表号,户号,姓名,区编,楼编,单元号,房间号,购电次数,用户类型,总购电量,限电功率,闪烁提醒  from yhxx where 表号 = 8 and 户号 = 1 and 用户状态 = 0] AS c
    INNER JOIN
    [select 用户表号,用户户号,用户姓名, 购电类型,[购电量(kWh)],现金余额 from sdjl  where 用户表号 = 8 and 用户户号 = 1 ] AS d
    ON (c.姓名  = D.用户姓名) AND (c.户号 = d.用户户号) AND (C.表号 = D.用户表号)
    )
    INNER JOIN yhlx ON C.用户类型 = yhlx.用户类型
    Inner join louhao on  c.区编 = louhao.小区名称
    Inner join xiaoqu on  c.楼编 = xiaoqu.楼号 里面的字段指代不明~~
      

  5.   

    SELECT 表号, 户号, 姓名, 区编, 楼编, 单元号, 房间号, 购电次数, [购电量(kWh)], C.用户类型, 现金余额, 总购电量, yhlx.单价, 限电功率, 闪烁提醒 
    FROM  
          (select 表号,户号,姓名,区编,楼编,单元号,房间号,购电次数,用户类型,总购电量,限电功率,闪烁提醒  
             from yhxx 
            where 表号 = 8 
              and 户号 = 1 
              and 用户状态 = 0
           ) AS c 
           INNER JOIN 
          (select 用户表号,用户户号,用户姓名, 购电类型,[购电量(kWh)],现金余额 
             from sdjl  
            where 用户表号 = 8 
              and 用户户号 = 1  
           ) AS d 
          ON (c.姓名  = D.用户姓名) AND (c.户号 = d.用户户号) AND (C.表号 = D.用户表号)  
          INNER JOIN 
          yhlx 
          ON C.用户类型 = yhlx.用户类型 
          Inner join 
          louhao 
          on  c.区编 = louhao.小区名称 
          Inner join 
          xiaoqu 
          on  c.楼编 = xiaoqu.楼号 
      

  6.   

    SELECT 表号, 户号, 姓名, 区编, 楼编, 单元号, 房间号, 购电次数, [购电量(kWh)], C.用户类型, 现金余额, 总购电量, yhlx.单价, 限电功率, 闪烁提醒 
    FROM  
          (select 表号,户号,姓名,区编,楼编,单元号,房间号,购电次数,用户类型,总购电量,限电功率,闪烁提醒  
             from yhxx 
            where 表号 = 8 
              and 户号 = 1 
              and 用户状态 = 0
           ) AS c
     
           INNER JOIN 
          (select 用户表号,用户户号,用户姓名, 购电类型,[购电量(kWh)],现金余额 
             from sdjl  
            where 用户表号 = 8 
              and 用户户号 = 1  
           ) AS d
     
          ON (c.姓名  = D.用户姓名) AND (c.户号 = d.用户户号) AND (C.表号 = D.用户表号)  
          INNER JOIN 
          yhlx 
          ON C.用户类型 = yhlx.用户类型 
          Inner join 
          louhao 
          on  c.区编 = louhao.小区名称 
          Inner join 
          xiaoqu 
          on  c.楼编 = xiaoqu.楼号 ****************************************这5个应该是同级的
      

  7.   

    [购电量(kWh)]
    ******************
    你的是什么数据库?这个是否允许还不清楚
      

  8.   

    access允许这么做 [购电量(kWh)] 
      

  9.   

    不知道为什么ACCESS的查询语句执行完后,就把"()as "变成了"[]. as "下面这个语句本来是执行通过的,但加个回车就不行了,
    SELECT 表号, 户号, 姓名, 区编, 楼编, 单元号, 房间号, 购电次数, [购电量(kWh)], C.用户类型, 现金余额, 总购电量, yhlx.单价, 限电功率, 闪烁提醒
    FROM ([select 表号,户号,姓名,区编,楼编,单元号,房间号,购电次数,用户类型,总购电量,限电功率,闪烁提醒  from yhxx where 表号 = 8 and 户号 = 1 and 用户状态 = 0]. AS c INNER JOIN [select 用户表号,用户户号,用户姓名, 购电类型,[购电量(kWh)],现金余额 from sdjl
                    where 用户表号 = 8 and 用户户号 = 1 
                          and  用户姓名 = ( select 姓名 from yhxx where  表号 = 8  and  户号 = 1 and 用户状态 = 0 ) 
                          and 购电次数 = (select 购电次数 from yhxx where  表号 = 8 and 户号 = 1 and 用户状态  = 0 )
                          and 购电类型 = 
                                    (
                                     select max(购电类型) from sdjl
                                               where 用户表号 = 8 and 用户户号 = 1 
                                                    and  用户姓名 = ( select 姓名 from yhxx where   表号 = 8  and  户号 = 1 and 用户状态 = 0 )
                                                    and  购电次数 = (select 购电次数 from yhxx where  表号 = 8 and 户号 = 1 and 用户状态  = 0 )
                                    )
             ]. AS d ON (c.姓名  = D.用户姓名) AND (c.户号 = d.用户户号) AND (C.表号 = D.用户表号)) INNER JOIN yhlx ON C.用户类型 = yhlx.用户类型;加回车后的语句 SELECT 表号, 户号, 姓名, 区编, 楼编, 单元号, 房间号, 购电次数, [购电量(kWh)], C.用户类型, 现金余额, 总购电量, yhlx.单价, 限电功率, 闪烁提醒
    FROM ([select 表号,户号,姓名,区编,楼编,单元号,房间号,购电次数,用户类型,总购电量,限电功率,闪烁提醒  from yhxx where 表号 = 8 and 户号 = 1 and 用户状态 = 0]. AS c INNER JOIN [select 用户表号,用户户号,用户姓名, 购电类型,[购电量(kWh)],现金余额 from sdjl
                    where 用户表号 = 8 and 用户户号 = 1 
                          and  用户姓名 = ( select 姓名 from yhxx where  表号 = 8  and  户号 = 1 and 用户状态 = 0 ) 
                          and 购电次数 = (select 购电次数 from yhxx where  表号 = 8 and 户号 = 1 and 用户状态  = 0 )
                          and 购电类型 = 
                                    (
                                     select max(购电类型) from sdjl
                                               where 用户表号 = 8 and 用户户号 = 1 
                                                    and  用户姓名 = ( select 姓名 from yhxx where   表号 = 8  and  户号 = 1 and 用户状态 = 0 )
                                                    and  购电次数 = (select 购电次数 from yhxx where  表号 = 8 and 户号 = 1 and 用户状态  = 0 )
                                    )
             ]. AS d ON (c.姓名  = D.用户姓名) AND (c.户号 = d.用户户号) AND (C.表号 = D.用户表号)
    ) INNER JOIN yhlx ON C.用户类型 = yhlx.用户类型;执行时提示“FROM子句语法错误”,是怎么回事呢。
      

  10.   

    access连接不允许并,应该嵌套SELECT 表号, 户号, 姓名, 区编, 楼编, 单元号, 房间号, 购电次数, [购电量(kWh)], C.用户类型, 现金余额, 总购电量, yhlx.单价, 限电功率, 闪烁提醒 
    FROM    
    (
    (
           (
           (select 表号,户号,姓名,区编,楼编,单元号,房间号,购电次数,用户类型,总购电量,限电功率,闪烁提醒  
             from yhxx 
            where 表号 = 8 
              and 户号 = 1 
              and 用户状态 = 0
           ) AS c 
           INNER JOIN 
          (select 用户表号,用户户号,用户姓名, 购电类型,[购电量(kWh)],现金余额 
             from sdjl  
            where 用户表号 = 8 
              and 用户户号 = 1  
           ) AS d 
          ON (c.姓名  = D.用户姓名) AND (c.户号 = d.用户户号) AND (C.表号 = D.用户表号)
          )  
          INNER JOIN 
          yhlx 
          ON C.用户类型 = yhlx.用户类型
           ) 
          Inner join 
          louhao 
          on  c.区编 = louhao.小区名称 
    )
          Inner join 
          xiaoqu 
          on  c.楼编 = xiaoqu.楼号 
      

  11.   

    把on的条件并一下SELECT 表号, 户号, 姓名, 区编, 楼编, 单元号, 房间号, 购电次数, [购电量(kWh)], C.用户类型, 现金余额, 总购电量, yhlx.单价, 限电功率, 闪烁提醒 
    FROM    
    (
    (
           (
           (select 表号,户号,姓名,区编,楼编,单元号,房间号,购电次数,用户类型,总购电量,限电功率,闪烁提醒  
             from yhxx 
            where 表号 = 8 
              and 户号 = 1 
              and 用户状态 = 0
           ) AS c 
           INNER JOIN 
          (select 用户表号,用户户号,用户姓名, 购电类型,[购电量(kWh)],现金余额 
             from sdjl  
            where 用户表号 = 8 
              and 用户户号 = 1  
           ) AS d 
          ON (c.姓名  = D.用户姓名 AND c.户号 = d.用户户号 AND C.表号 = D.用户表号)
          )  
          INNER JOIN 
          yhlx 
          ON C.用户类型 = yhlx.用户类型
           ) 
          Inner join 
          louhao 
          on  c.区编 = louhao.小区名称 
    )
          Inner join 
          xiaoqu 
          on  c.楼编 = xiaoqu.楼号 
      

  12.   

    谢谢,jhone99。为什么ACCESS的查询语句执行完后,就把"()as "变成了"[]. as " 
      

  13.   

    jhone99,您提供的两个执行都可通过,保存此查询后再执行也能通过,但保存后格式变成了以下形式:SELECT 表号, 户号, 姓名, 区编, 楼编, 单元号, 房间号, 购电次数, [购电量(kWh)], C.用户类型, 现金余额, 总购电量, yhlx.单价, 限电功率, 闪烁提醒
    FROM ((([select 表号,户号,姓名,区编,楼编,单元号,房间号,购电次数,用户类型,总购电量,限电功率,闪烁提醒  
                         from yhxx 
                        where 表号 = 8 
                          and 户号 = 1 
                          and 用户状态 = 0
                       ]. AS c INNER JOIN [select 用户表号,用户户号,用户姓名, 购电类型,[购电量(kWh)],现金余额 
                         from sdjl  
                        where 用户表号 = 8 
                          and 用户户号 = 1  
                       ]. AS d ON c.姓名  = D.用户姓名 AND c.户号 = d.用户户号 AND C.表号 = D.用户表号) INNER JOIN yhlx ON C.用户类型 = yhlx.用户类型) INNER JOIN louhao ON val(c.区编) = louhao.编号) INNER JOIN xiaoqu ON val(c.楼编) = xiaoqu.编号;并且此查询另存时提示“from子句语法错误”,光标停留在“,现金余额”中的逗号上。
    如果您方便并且有时间的话,我把数据库发给你帮忙给看一下。不知道可以否。我的QQ号:303798373
      

  14.   

    怎么用ACCESS数据库 用什么都比他好用些就是方便