【问题标题】:Error incorrect select list on query?查询时出错选择列表不正确?
【发布时间】:2014-06-04 21:02:55
【问题描述】:

我有三个查询:

<cfquery datasource="Intranet" name="getNotApproved">
  select submitterdept, COUNT(*) AS 'not_approved_manager'
  from [Intranet].[dbo].[CSEReduxResponses]
   where status =0 and approveddate is null
   group by submitterdept
</cfquery>

<cfquery datasource="Intranet" name="GetDepartments">
        SELECT *
        FROM CSEReduxDepts

</cfquery>
<cfquery dbtype="query" name="final_approved">
    select dep.csedept_id,DEP.csedept_name, COUNT(*) AS 'not_approved_manager'
from GetDepartments dep
join getNotApproved cs on cs.submitterdept = dep.csedept_id
where approveddate is null
group by dep.csedept_ID, dep.csedept_name
</cfquery>

当我在 cfm 文件上运行它们时,它给了我一个错误:

Query Of Queries syntax error.
Encountered "\'not_approved_manager\'. Incorrect Select List, 

在线&lt;cfquery dbtype="query" name="final_approved"&gt; 我知道这些查询有效,因为我已经在我的 microsoft sql server 2008 上运行它们,它们向我显示了正确的输出,所有三个都在运行。 所以我想弄清楚为什么它对冷融合不起作用。

【问题讨论】:

  • 如果您从选择列表中的姓名中删除引号会怎样?
  • 我得到一个不同的错误:Query Of Queries 语法错误。遇到“dep.
  • 可能不支持表名的别名
  • @math 原因是因为我也在其他地方使用 getdepartments
  • 运行您的组合查询并单独运行您的其他查询。不要使用查询的查询,因为它不会为您节省任何东西

标签: coldfusion qoq


【解决方案1】:

查询的查询不支持关键字“join”。所以,除了发生的其他事情,这个:

from GetDepartments dep
join getNotApproved cs on cs.submitterdept = dep.csedept_id

必须变成这样:

from GetDepartments dep, getNotApproved cs 
where cs.submitterdept = dep.csedept_id

如 cmets 中所述,可能不支持表的别名。

【讨论】:

  • 不建议在此处使用 QoQ。您可以将所有 2 个 cfquery 调用压缩为 1 个并让数据库(其工作是处理此类数据)完成其工作
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多