Я беру запрос из базы данных, используя две таблицы, и получаю ошибку, описанную в заголовке моего вопроса. В некоторых случаях поле, к которому я должен выполнить запрос, находится в таблице A, но другие находятся в таблице B. Я динамически создаю столбцы для поиска (которые могут быть либо в таблице A, либо в таблице B), и мое предложение WHERE в моем коде вызывая ошибку.Как исправить ошибку «неоднозначное имя столбца с использованием внутреннего соединения»
Есть динамический способ исправить это, например, если столбец в таблице B, то поиск с помощью таблицы B, или же INNER JOIN должен это исправить (который в настоящее время не является)
Таблица А поля: ID
Таблица B поля: идентификатор
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 и таблицу В с колонкой идентификатора, в качестве данных, которая связывает два.
Вы динамически добавлять операторы SQL? Если да, то все столбцы добавлены в псевдонимы таблицы, IE. A. column, B.column? – BClaydon