ORA-00923 Ключевое слово FROM не найдено там, где ожидается - PullRequest
1 голос
/ 17 сентября 2009

Я пытаюсь объединить некоторые поля, чтобы вернуть одну строку для каждой строки из таблицы оракула. Это в 10г. Вот мой запрос:

SELECT t.value || '|' || t.label || '|' t.label_abbrv || '||' "mylist" 
  FROM list_value t
 WHERE t.value BETWEEN 195001 AND 195300;

Я получаю сообщение об ошибке "Ключевое слово FROM не найдено там, где ожидается". Это действительно раздражает. Это простой запрос. Я уверен, что я упускаю что-то простое.

Ответы [ 3 ]

2 голосов
/ 17 сентября 2009

Если бы вы использовали клиент 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 «примитивным», но, хм, это хорошо для другого вопроса. Позвольте мне узнать, спрашивал ли кто-нибудь еще об этом.

2 голосов
/ 17 сентября 2009

D'Oh! Я нашел проблему. Я скучаю по Конкату!

SELECT value || '|' || label || '|' ****||**** label_abbrv || '||' "mylist"
from list_value where (value between 195001 and 195300);
1 голос
/ 17 сентября 2009

Я думаю, что ваш ответ на ваш собственный вопрос все еще неправильный - он должен быть:

SELECT value || '|' || label || '|' || label_abbrv || '||' "mylist" 
                                   ^^^^
...