3

F/W1 アプリケーションでクエリ オブ クエリを使用して、クエリからレコードを取得する必要があります。Coldfusion 10で実行しています。私のクエリは次のとおりです。

<cfquery name="qryFormData" dbtype="Query">
      Select * from qryFormfields where language = 'ENG'
</cfquery>

そして、私はこのエラーが発生しています

 ERROR!

An error occurred!
Action: locations.default
Error: Error Executing Database Query.
Type: Database
Details:
Query Of Queries syntax error.
Encountered "language. Incorrect conditional expression, Expected one of [like|null|between|in|comparison] condition,

私が間違っていることは何ですか?任意のヘルプをいただければ幸いです。

私のクエリは次のようにとても簡単です

<cfquery name="qryFormfields" datasource="#variables.dsn#">
    SELECT cf.CustomFieldID, cfl.label,cfl.language,cf.Type FROM CustomFields cf 
    INNER JOIN CustomFieldLabels cfl ON cfl.CustomFieldID = cf.CustomFieldID
    AND Entity = <cfqueryparam  value="#arguments.tablename#" cfsqltype="cf_sql_varchar">
    WHERE Language = <cfqueryparam  value="#SupportedLangID.prefix#" cfsqltype="cf_sql_varchar">
    AND SiteID = <cfqueryparam  value="#arguments.SiteID#" cfsqltype="cf_sql_varchar">
</cfquery>
4

1 に答える 1

8

LANGUAGEクエリ オン クエリの予約語です。こちらのドキュメントを参照してください:クエリ オブ クエリ ユーザー ガイド: 予約済みキーワードのエスケープ

したがって、元のクエリでその列にエイリアスを付ける必要があります (または、ドキュメントに従って角括弧でエスケープします)。

于 2014-03-14T20:51:31.187 に答える