sql-server-2005 - 关键字 'AS' 附近的语法不正确

标签 sql-server-2005 visual-studio-2005 syntax

为什么我会收到这样的语法错误:关键字“AS”附近的语法不正确

我正在使用 microsoft visual studio 2005 和 sql server 2005

string strSql =
 "SELECT a.MCode, a.NameOfModule, a.Mod_Abbreviation, dt.ModuleCode,
  dt.Course, dt.Stage, dt.ModuleGrpFrom, dt.ModuleGrpTo, dt.GrpName,
  dt.GrpType, dt.StaffID, dt.AcadYear, dt.AcadSemester,
  dt.TotalHour, dt.WeeklyLectHr, dt.WeeklyPractHr, dt.WeeklyTutHr,
  dt.ModuleLeader, 0 AS TotalTeach, '' AS ModuleGroups, '' AS ML, 0 AS L, 0 AS P, 0 AS T, 1 AS NofGrp, '' AS TotalTeachUnit" +
 "FROM (SELECT * FROM
  (SELECT a.ModuleCode, a.Course, a.Stage, a.ModuleGrpFrom,
    a.ModuleGrpTo, a.GrpName, a.GrpType, a.StaffID, b.AcadYear,
    b.AcadSemester, b.TotalHour, b.WeeklyLectHr, b.WeeklyPractHr,
    b.WeeklyTutHr, b.ModuleLeader
   FROM ModuleStrGrp a 
   LEFT JOIN ModuleStr b ON a.AcadYear = b.AcadYear
    AND a.AcadSemester = b.AcadSemester
    AND a.Course = b.Course
    AND a.ModuleCode = b.ModuleCode) AS MSG 
   INNER JOIN Parameter Para ON MSG.Course = Para.Paracode2) AS dt 
  LEFT JOIN Module a ON dt.ModuleCode = a.MCode" +
 "WHERE dt.AcadYear LIKE AcadYear AND dt.AcadSemester LIKE AcadSemester 
   AND dt.Course LIKE Course AND dt.Stage LIKE Stage AND dt.StaffID LIKE Staff
   AND dt.SpecGrp LIKE Specialisation" +
 "ORDER BY dt.ModuleCode, dt.GrpType";

最佳答案

缺少空格。
您的代码正在创建字符串

"... , '' AS TotalTeachUnitFROM (SELECT * ..."

其他行也是如此,它们之间需要空格。

关于sql-server-2005 - 关键字 'AS' 附近的语法不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1706238/

相关文章:

sql - 如何转义字段名称方括号内的方括号

visual-studio-2005 - 为什么 Visual Studio 2005 不会生成 Xml 序列化程序集?

c++ - 非托管 C++ 库 - VS2005 和 VS2008 之间的区别?

javascript - 使 enter 键的行为类似于 Javascript 中的 tab 键

scala - 理解 Scala 中的隐式

c++ - 函数头后面的 `const` 是什么意思?

java - 为什么在泛型类(Java)的构造函数中提供类型参数是错误的?

sql-server-2005 - 将SQL Server数据库从单个实例还原到群集

sql - 在 sysobjects/INFORMATION_SCHEMA 中查找 #temp 表

database - SQL 服务器 2005 |我如何确定我的数据服务器没有发生写入