SQL Server 2008:关键字';AS';

SQL Server 2008:关键字';AS';,sql,sql-server,subquery,syntax-error,union,Sql,Sql Server,Subquery,Syntax Error,Union,我继承的程序有问题。我需要调整一个查询,但是nog该查询不再工作 这是我得到的查询(不要评判我,这不是我的查询:) 在我添加了这个之后,我不断遇到以下子查询的问题(对于每个子查询,我都会得到相同的错误) 我得到的错误是: 味精156,第15级,状态1,第28行 关键字“AS”附近的语法不正确 我似乎不知道我做了什么/出了什么问题。我希望一双新鲜的眼睛能看到我错过的东西 注意:该错误仅发生在联合所有 谢谢你的耐心 致以亲切的问候 编辑:如果可能:避免对查询进行重大修改 不能为select表查询使用

我继承的程序有问题。我需要调整一个查询,但是nog该查询不再工作

这是我得到的查询(不要评判我,这不是我的查询:)

在我添加了这个之后,我不断遇到以下子查询的问题(对于每个子查询,我都会得到相同的错误)

我得到的错误是:

味精156,第15级,状态1,第28行
关键字“AS”附近的语法不正确

我似乎不知道我做了什么/出了什么问题。我希望一双新鲜的眼睛能看到我错过的东西

注意:该错误仅发生在联合所有

谢谢你的耐心

致以亲切的问候


编辑:如果可能:避免对查询进行重大修改

不能为select表查询使用别名

(SELECT TOP (1) RTRIM(OmschrijvingSectie) AS Expr1
 FROM PEBSectie AS PEBSectie_1
 WHERE (CodeBusiness = verz1.CodeBusiness) AND 
       (CodeAfdeling =verz1.CodeAfdeling) AND 
       (CodeGroep = verz1.CodeGroep) AND                                     
       (CodeSectie = verz1.CodeSectie)) **AS SEC** 
这里所有的表别名都是错误的。

各位

谢谢你们在我的问题上花了这么多时间。一双新的眼睛(甚至是一双非IT的眼睛)突然发现了这个问题。第一个查询中有一个括号太多(where语句)

最后一个括号不应该在那里。我被错误消息弄瞎了眼睛,在第二个查询中查找问题。旧的查询如何仍然能够产生有效的结果(即使使用了无效的语法)仍然困扰着我。查询本身将被重写以避免进一步的问题

再次感谢你的所有时间


最后向您致以亲切的问候。。荷兰字段名称。:)您在两个主要select语句的Where语句中添加了行
和(aw1.Verwijderd=0)
。将尝试编辑我的帖子,使他们跳出@谢谢你的编辑!现在可读性更强了!那不是真的。虽然别名已经在第一个SELECT(在UNIONALL之前)中设置,但是您也可以为其他列设置别名,SQL只是不处理它们。请参阅此演示:
 AND (aw1.Verwijderd = 0)
(SELECT     TOP (1) RTRIM(OmschrijvingSectie) AS Expr1
                        FROM          PEBSectie AS PEBSectie_3
                        WHERE      (CodeBusiness = verz1.CodeBusiness) AND (CodeAfdeling = '00')) AS BSNS,
(SELECT TOP (1) RTRIM(OmschrijvingSectie) AS Expr1
 FROM PEBSectie AS PEBSectie_1
 WHERE (CodeBusiness = verz1.CodeBusiness) AND 
       (CodeAfdeling =verz1.CodeAfdeling) AND 
       (CodeGroep = verz1.CodeGroep) AND                                     
       (CodeSectie = verz1.CodeSectie)) **AS SEC** 
 (DATEDIFF(day, verz1.BeginDatumAW, verz1.EindDatumAW) > 0))