我正在尝试连接一些字段,以便为oracle表中的每一行返回单个字符串。这是10g。下面是我的问题:
SELECT t.value || '|' || t.label || '|' t.label_abbrv || '||' "mylist"
FROM list_value t
WHERE t.value BETWEEN 195001 AND 195300;我收到"FROM keyword not found where expected“错误。这真的很烦人。这是一个简单的查询。我肯定我错过了一些简单的东西。
发布于 2009-09-17 13:52:49
哦!我找到问题了。我少了一只康卡特!
SELECT value || '|' || label || '|' ****||**** label_abbrv || '||' "mylist"
from list_value where (value between 195001 and 195300);发布于 2009-09-17 14:04:02
如果您使用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是“原始的”,但是,嗯,这适用于另一个问题。让我看看还有没有人问过这件事。
发布于 2009-09-17 14:01:28
我认为你对你自己的问题的回答仍然是错误的-它应该是:
SELECT value || '|' || label || '|' || label_abbrv || '||' "mylist"
^^^^https://stackoverflow.com/questions/1439011
复制相似问题