1

我正在尝试连接一些字段以从 oracle 表中为每一行返回一个字符串。这是10克。这是我的查询:

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

我收到“未在预期的地方找到 FROM 关键字”错误。这真的很烦人。这是一个简单的查询。我敢肯定这是我想念的简单的东西。

4

3 回答 3

2

哦!我发现了问题。我错过了一个连接!

SELECT value || '|' || label || '|' ****||**** label_abbrv || '||' "mylist"
from list_value where (value between 195001 and 195300);
于 2009-09-17T13:52:48.977 回答
2

如果您使用 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-17T14:04:01.500 回答
1

我认为您对自己问题的回答仍然是错误的-应该是:

SELECT value || '|' || label || '|' || label_abbrv || '||' "mylist" 
                                   ^^^^
于 2009-09-17T14:01:28.413 回答