2 つのテーブルを使用してデータベースからクエリを取得していますが、質問のタイトルに記載されているエラーが発生しています。クエリを実行する必要があるフィールドがテーブル A にある場合もあれば、テーブル B にある場合もあります。検索する列 (テーブル A またはテーブル B のいずれか) を動的に作成し、コード内の WHERE 句は次のとおりです。エラーの原因。
列がテーブル B にある場合、テーブル B を使用して検索する、またはこれを修正することになっている INNER JOIN など、これを修正する動的な方法はありますか (現在は修正されていません)
テーブル Aフィールド: id
テーブル Bフィールド: id
SQL コード
SELECT *
FROM A INNER JOIN B ON A.id = B.id
WHERE
<cfloop from="1" to="#listLen(selectList1)#" index="i">
#ListGetAt(selectList1, i)# LIKE UPPER(<cfqueryparam cfsqltype="cf_sql_varchar" value="%#ListGetAt(selectList2,i)#%" />) <!---
search column name = query parameter
using the same index in both lists
(selectList1) (selectList2) --->
<cfif i neq listLen(selectList1)>AND</cfif> <!---append an "AND" if we are on any but
the very last element of the list (in that
case we don't need an "AND"--->
</cfloop>
テーブル Aとテーブル Bの両方で、2 つをリンクするデータとして id 列を使用して追加のフィールドを検索できるようにしたいと考えています。