2013-10-07 23 views
1

我需要使用Access 2007和ColdFusion 8在一个简单的select语句中合并来自2列的值。当我在Access中运行查询时,我得到的结果没有问题,但是当我把下面的查询中的ColdFusion它不会运行:将select中的两列组合不起作用

<cfquery name="Maj" datasource="#application.dsn#"> 
    SELECT Majors & " " & GradeLevel 
    FROM Programs 
    WHERE Categories = 'Language' 
    ORDER BY Majors 
    </cfquery> 

它产生以下错误:

The following information is meant for the website developer for debugging purposes. 
Error Occurred While Processing Request 
Error Executing Database Query. 

[Macromedia][SequeLink JDBC Driver][ODBC Socket][Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1. 

The error occurred in C:\Inetpub\wwwroot\test.cfm: line 4 

    2 : 
    3 : 
    4 :   <cfquery name="Maj" datasource="#application.dsn#"> 
    5 :   SELECT Majors & " " & GradeLevel 
    6 :   FROM Programs 

回答

3

使用单一的,而不是双引号的身边你MajorsGradeLevel之间添加空间。

SELECT Majors & ' ' & GradeLevel 
FROM Programs 
WHERE Categories = 'Language' 
ORDER BY Majors 

如果你的下一个问题是如何别名现场表达,当你使用现有的字段名称作为别名的Access数据库引擎可能会反对。通过选择与任何字段名称不匹配的别名来避免该问题。

SELECT Majors & ' ' & GradeLevel AS Majors_GradeLevel 
+0

这个作品谢谢你!但我不能使用“AS”,并且无法引用此结果。我不能做选择专业&''和GradeLevel AS专业 – user1557856

+0

请参阅上面的编辑。 – HansUp

+0

谢谢!所以我只能使用select名称以外的名称而不是名称? – user1557856