我正在尝试连接一些字段以从 oracle 表中为每一行返回一个字符串。这是10克。这是我的查询:
SELECT t.value || '|' || t.label || '|' t.label_abbrv || '||' "mylist"
FROM list_value t
WHERE t.value BETWEEN 195001 AND 195300;
我收到“未在预期的地方找到 FROM 关键字”错误。这真的很烦人。这是一个简单的查询。我敢肯定这是我想念的简单的东西。
哦!我发现了问题。我错过了一个连接!
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"
^^^^