首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Lucee不考虑QoQ中的列别名

为什么Lucee不考虑QoQ中的列别名
EN

Stack Overflow用户
提问于 2016-11-04 08:39:07
回答 1查看 147关注 0票数 1

我正在比较本地CF & Lucee服务器中的以下查询。ColdFusion服务器引发QoQ运行时错误。但是,当我在Lucee中执行相同的查询时,它会返回所需的查询结果。

代码语言:javascript
复制
<cfquery name="getusers" datasource="myDSN">
    SELECT 
        UC.UserContactName, U.UserID 
    FROM Users U 
        INNER JOIN UserContacts UC ON U.UserID = UC.UserID 
    WHERE U.UserID in (99,52,41,76,15) 
</cfquery>

<cfquery name="getContactName" dbtype="query">
    SELECT UserContactName FROM getusers 
    WHERE U.UserID  = <cfqueryparam value="76" cfsqltype="cf_sql_integer">
</cfquery>

<cfdump var="#getContactName#" />

CF服务器在上面的代码上抛出此错误,因为它考虑别名:

所选列引用U.UserID与FROM表列表中的任何表不匹配。

然而,Lucee服务器没有考虑别名,运行运行上面的没有错误。有人知道为什么Lucee服务器不考虑QoQ列别名吗?请分享你对此的想法或建议。

EN

回答 1

Stack Overflow用户

发布于 2016-11-04 11:13:43

getusers查询将在列中得到以下结果:

UserContactName | UserID

QoQ on getusers不再存储任何与表相关的信息。如果引用U (如在U.UserID中),则ACF希望QoQ中的(新)引用能够解决U甚至意味着什么。

另一方面,Lucee存储这些信息,并可以使用别名解析它。您可以检查源代码如何解析QoQ语句。

不管Lucee的功能如何,我建议删除QoQ语句中的前别名。当您的查询转储甚至没有提示您存储别名时,请考虑调试QoQ语句。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40418298

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档