【问题标题】:Syntax error in Acces 2013 Query [duplicate]Access 2013 查询中的语法错误 [重复]
【发布时间】:2013-10-25 19:54:37
【问题描述】:

对于学校,我必须编写一些查询,但由于某种原因,这个查询给了我一个错误,我不知道为什么。连我的两位老师都想不通。

这是我的查询:

    SELECT Reserveringen.KlantNummer, Klanten.KlantNaam, Klanten.KlantWoonplaats, Bungalows.TypeCode
FROM Reserveringen
Inner Join Klanten on Klanten.KlantNummer = Reserveringen.KlantNummer
Inner Join Bungalows on Reserveringen.BungalowNummer = Bungalows.BungalowNummer
Where Bungalows.TypeCode = 'A1'
Order by Klanten.KlantWoonplaats asc;

错误:

查询表达式中的语法错误(缺少运算符) 'Klanten.KlantNummer = Reserveringen.KlantNummer Inner Join Bungalows 在 Reserveringen.BungalowNummer = Bungalows.BungalowNummer

如果您需要更多信息,请告诉我!

提前感谢您帮助我!

【问题讨论】:

    标签: sql


    【解决方案1】:

    Access 中,如果有多个JOIN,则需要括号。

    看看这个:

    SELECT Reserveringen.KlantNummer, 
    Klanten.KlantNaam, Klanten.KlantWoonplaats, 
    Bungalows.TypeCode
    FROM (Reserveringen
    INNER JOIN Klanten
    on Klanten.KlantNummer = Reserveringen.KlantNummer)
    INNER JOIN Bungalows 
    on Reserveringen.BungalowNummer = Bungalows.BungalowNummer
    WHERE Bungalows.TypeCode = 'A1'
    ORDER BY Klanten.KlantWoonplaats ASC;
    

    除此之外,我建议您使用别名来获得更长的名称。

    【讨论】:

    • 谢谢,我不知道如果我的查询中有多个联接,我必须加上括号!它起作用了=)
    • @Jamie:不客气 :)
    【解决方案2】:

    试试这个方法,看看会发生什么。

    SELECT Reserveringen.KlantNummer, 
           Klanten.KlantNaam, 
           Klanten.KlantWoonplaats, 
           Bungalows.TypeCode
      FROM Reserveringen,
           Klanten,  
           Bungalows 
    Where Bungalows.TypeCode = 'A1'
      and Klanten.KlantNummer = Reserveringen.KlantNummer
      and Reserveringen.BungalowNummer = Bungalows.BungalowNummer
    Order by Klanten.KlantWoonplaats asc;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-22
      • 2014-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-16
      • 1970-01-01
      相关资源
      最近更新 更多