sql - 连接并在 where 子句中使用 oracle plsql

标签 sql oracle

我必须连接两个字段并在 where 子句中使用连接字段,但它给了我无效的标识符。如何解决这个问题。

select i.FIRST_NAME || ' - ' || i.LAST_NAME as NAME, i.* from CONTACT i 
where NAME = 'JOHN - HANKS'

这给了我

ORA-00904: "NAME": invalid identifier
00904. 00000 -  "%s: invalid identifier"

最佳答案

您不能在同一级别使用列别名。只需使用子查询(或重复表达式):

select c.*
from (select i.FIRST_NAME || ' - ' || i.LAST_NAME as NAME, i.*
      from CONTACT i 
     ) c
where c.NAME = 'JOHN - HANKS';

关于sql - 连接并在 where 子句中使用 oracle plsql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26563139/

相关文章:

mysql - 如果MySQL中未满足 "where",如何返回具有不同值的行

sql - 在oracle中生成一定长度的字符串的所有可能的组合

Oracle 11G - 插入索引的性能影响

sql - 按 Y 分组的每个 X 的值总和

sql - 我应该调用什么顺序 @@ROWCOUNT/@@ERROR

sql - 在没有最后修改列的情况下查询最后修改时间

android - 日志 : column _id does not exist (SQL related)

oracle - 浏览多个字段的值并将它们插入到同一列中

java - 如何对SQL结果进行排序

mysql - Oracle SQL 触发器更新问题 - 研究/学习