SQL Server 2008:关键字';AS';
我继承的程序有问题。我需要调整一个查询,但是nog该查询不再工作 这是我得到的查询(不要评判我,这不是我的查询:) 在我添加了这个之后,我不断遇到以下子查询的问题(对于每个子查询,我都会得到相同的错误) 我得到的错误是: 味精156,第15级,状态1,第28行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表查询使用
关键字“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))