我正在使用两个表从数据库中进行查询,并收到问题标题中描述的错误。在某些情况下,我需要查询的字段在表 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中的任何其他字段,并将 id 列作为链接两者的数据。