Я пытаюсь выполнить следующую инструкцию SQL, но не могу понять, как это правильно.
Это то, что работает на iSeries в STRSQL, а также в моей программе PHP. Но я не вижу (mbmrxl * mbndtr)
результат, как я делаю на iSeries.
Этот столбец пуст.
SELECT SURNME, ODLBNM, ODOBNM, MBMXRL, MBNRCD, MBNDTR, (mbmxrl * mbndtr), objrnk
FROM mytable WHERE surnme = 'STP_ROLL' ORDER BY (mbmxrl * mbndtr) desc
Мне нужно выполнить этот расчет и поместить его в новое поле с именем TOTRANK
:
MBMRXL * MBNDTR
Это PHP-запрос, который я пытаюсь:
$query = "SELECT SURNME, ODLBNM, ODOBNM, MBMXRL, MBNRCD, MBNDTR, TOTRANK, objrnk FROM (select mbmrxl * mbndtr as TOTRANK, from mytable)
WHERE surnme = 'STP_ROLL' ORDER BY TOTRANK desc";
При запуске приведенного выше кода, я получаю это сообщение:
Оператор SQL не прошел токен. не был действительным. Действительные токены:, ИЗ.
SQLCODE = -104
Как мне отладить это?
SELECT SURNME, ODLBNM, ODOBNM, MBMXRL, MBNRCD, MBNDTR, objrnk
, mbmrxl * mbndtr as TOTRANK
FROM mytable
WHERE surnme = 'STP_ROLL'
ORDER BY mbmrxl * mbndtr desc
Ваш оператор выбора SQL должен быть изменен на вышеуказанный.
Других решений пока нет …