ORA-00923 Ключевое слово FROM не найдено там, где ожидается
Я пытаюсь объединить некоторые поля, чтобы вернуть одну строку для каждой строки из таблицы оракула. Это в 10г. Вот мой запрос:
SELECT t.value || '|' || t.label || '|' t.label_abbrv || '||' "mylist"
FROM list_value t
WHERE t.value BETWEEN 195001 AND 195300;
Я получаю сообщение об ошибке "Ключевое слово FROM не найден там, где ожидается". Это действительно раздражает. Это простой запрос. Я уверен, что это что-то простое, что я скучаю.
3 ответа
Решение
D'о! Я нашел проблему. Я скучаю по Конкату!
SELECT value || '|' || label || '|' ****||**** label_abbrv || '||' "mylist"
from list_value where (value between 195001 and 195300);
Если бы вы использовали клиент SQLPLUS, это сэкономило бы вам немного времени:
SQL> SELECT value || '|' || label || '|' label_abbrv || '||' "mylist"
2 from list_value where (value between 195001 and 195300);
SELECT value || '|' || label || '|' label_abbrv || '||' "mylist"
*
ERROR at line 1:
ORA-00923: FROM keyword not found where expected
Вы можете разбить ваш запрос на несколько строк, чтобы изолировать проблему:
SQL> edit
Wrote file afiedt.buf
1 SELECT value || '|'
2 || label ||
3 '|' label_abbrv ||
4 '||' "mylist"
5 from list_value
6 where
7* (value between 195001 and 195300)
SQL> /
'|' label_abbrv ||
*
ERROR at line 3:
ORA-00923: FROM keyword not found where expected
Вы могли бы найти SQLPLUS "примитивным", но, хм, это хорошо для другого вопроса. Дайте мне посмотреть, если кто-нибудь еще спрашивал об этом.
Я думаю, что ваш ответ на ваш собственный вопрос все еще неправильный - он должен быть:
SELECT value || '|' || label || '|' || label_abbrv || '||' "mylist"
^^^^