1

我有这个查询

<cfquery datasource="Intranet" name="getMaxstars">
    SELECT   TOP (1) WITH TIES emp_id, SUM(execoffice_status) AS total_max
    FROM     CSEReduxResponses
    GROUP BY emp_id
    ORDER BY total_max DESC
</cfquery >

<cfquery datasource="phonelist" name="getEmployees">
    SELECT first_name, last_name, emp_id
    FROM employee
</cfquery>

<!--- Query of a query join --->
<cfquery name="getEmployeeStars" dbtype="query">
    SELECT getEmployees.first_name + ' ' + getEmployees.last_name AS full_name, getMaxstars.total_max AS stars
    FROM getMaxstars, getEmployees
    WHERE getMaxstars.emp_id = getEmployees.emp_id
</cfquery>

在这个查询中,我想在 CSEReduxResonses 表中获取 emp_id 的最大值,我想得到的是输出只有员工表具有的员工的全名以及该员工有多少星星(execoffice_status)。所以输出看起来像这样:

约翰多伊 4

我不断收到此错误:

查询的查询语法错误。遇到“。不正确的选择列表,不正确的选择列,getEmployees.emp_namefirst后面不能跟'+'

错误发生在 C:\inetpub\wwwroot\WebServer\win\test\cse_execoffice_newsletter.cfm:第 60 行

58 :
59 : 60 : 61 : SELECT getEmployees.emp_namefirst + ' ' + getEmployees.emp_namelast AS full_name, getMaxstars.total_max AS [stars] 62: FROM getMaxstars, getEmployees

4

1 回答 1

1

看起来这要么是与别名连接的错误。

下面是一个示例:

<cfset myQuery = queryNew("Column_1, Column_2", "varchar, varchar")>

<cfloop index="i" from="1" to="5">
    <cfset newRow = QueryAddRow(myQuery, 1)>    
    <cfset newCell = QuerySetCell(myQuery, "Column_1", i)>
    <cfset newCell = QuerySetCell(myQuery, "Column_2", i)>
</cfloop>
<cfdump var="#myQuery#" label="myQuery">

<hr />

<cfquery name="QoQ" dbtype="query">
    SELECT
        [myQuery].[Column_1] as Column_1,
        [myQuery].[Column_2] as Column_2
    FROM [myQuery]
</cfquery>
<cfdump var="#QoQ#" label="QoQ">

<hr />

<cfquery name="QoQ_new" dbtype="query">
    SELECT
        [myQuery].[Column_1] as Column_1,
        [myQuery].[Column_2] as Column_2,
        ([myQuery].[Column_1] + ' ' + [myQuery].[Column_2]) as stars
    FROM [myQuery]
</cfquery>

<cfdump var="#QoQ_new#" label="QoQ_new">

您可以在http://cflive.net/上运行代码示例并看到 ColdFusion 给出了错误,但 Railo 没有。

猜这个惯于会为你工作。

编辑:基于上面丹的链接,连接SELECT列周围的括号会起作用:

于 2014-04-10T23:17:13.553 回答