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" 
                                   ^^^^
Другие вопросы по тегам