У меня есть скрипт, который запрашивает базу данных для информации о заказе, а затем запрос этого запроса, чтобы получить итоговые суммы заказов. Код выглядит так.Ошибка выполнения запросов Query.Cannot применить двоичный числовой оператор [* | /] для нецифрового типа
<!--- Retrieve order information from database --->
<CFQUERY NAME="GetOrder">
SELECT
oi.OrderQty, oi.ItemPrice
FROM
Orders o,
OrderItems oi,
WHERE
o.ID = <cfqueryparam cfsqltype="cf_sql_varchar" value="#ATTRIBUTES.OrderID#">
AND o.ID = oi.OrderID
</CFQUERY>
<!--- Query the GetOrders query to find total $$ --->
<CFQUERY DBTYPE="Query" NAME="GetTotal">
SELECT SUM(ItemPrice * OrderQty) AS OrderTotal
FROM GetOrder
</CFQUERY>
Поля itemPrice и OrderQty в базе данных устанавливаются как числовые типы данных. По какой-то причине, когда я запускаю скрипт, я получаю сообщение об ошибке «Query Of Queries runtime». Невозможно применить двоичный числовой оператор [* | /] для не числового типа «
Я даже проверил быструю проверку, чтобы узнать, числа были числовыми в запросе и прервали скрипт перед запросом запросов. Проверка, которую я запускал, выглядит так.
<cfoutput>
<cfif isnumeric(GetOrder.OrderQty)>1<cfelse>0</cfif>
<cfif isnumeric(GetOrder.ItemPrice)>1<cfelse>0</cfif>
<cfabort>
</cfoutput>
Оба результаты cfifs вернулся в «1»
Любая помощь с этим было бы весьма признателен.
Ваш тест проверяет только первую строку в запросе, последующие строки могут вызвать проблему. –