【问题标题】:There was an error parsing the query解析查询时出错
【发布时间】:2012-12-17 17:48:48
【问题描述】:

我需要帮助....我不擅长 SQL 我尝试应用 JOIN 时收到此错误:

[ Token line number = 1,Token line offset = 66,Token in error = JOIN ]

这是我的 SQL:

var query = "SELECT Team.TeamName, Fixtures.HomeTeam" +
                "FROM Team" +
                "LEFT JOIN Fixtures" +
                "ON Team.TeamId=Fixtures.HomeTeam" +
                "ORDER BY Team.TeamName";

团队表有 PK:TeamId 夹具表有 FK:主队 我正在使用 WebMatrix 2. Razor WebPages

【问题讨论】:

    标签: mysql sql sql-server-ce webmatrix-2 razor-2


    【解决方案1】:

    行连接之间没有空格。更改每一行以在末尾包含空格。

    var query = "SELECT Team.TeamName, Fixtures.HomeTeam " +
                "FROM Team " +
                "LEFT JOIN Fixtures " +
                "ON Team.TeamId=Fixtures.HomeTeam " +
                "ORDER BY Team.TeamName";
    

    【讨论】:

      【解决方案2】:

      正如 Charles Brentana 所指出的,您错过了 SQL 命令中的空格。

      也许更好的解决方案是您使用逐字字符串文字,即在双引号字符之前使用 @ 字符创建的字符串,它可以跨越多行:

      var query = @"SELECT Team.TeamName, Fixtures.HomeTeam
                      FROM Team
                      LEFT JOIN Fixtures
                      ON Team.TeamId=Fixtures.HomeTeam
                      ORDER BY Team.TeamName";
      

      【讨论】:

        【解决方案3】:

        字符串之间需要空格。

        我通过将空格作为 first 字符来避免这种情况,所以当你忘记编码时它真的很明显:

        var query = "SELECT Team.TeamName, Fixtures.HomeTeam" +
                    " FROM Team" +
                    " LEFT JOIN Fixtures" +
                    " ON Team.TeamId=Fixtures.HomeTeam" +
                    " ORDER BY Team.TeamName";
        

        如果您始终以这种方式编码,您将能够立即发现任何缺失的空格。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-08-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-12-18
          相关资源
          最近更新 更多