问题标签 [ora-00904]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
437 浏览

sql - 在 Oracle 中合并和匹配数据

我正在尝试从 2 个单独的模式中收集数据。由于获取所有数据的单一查询的复杂性会使数据库服务器崩溃,我制作了单独的表并用我需要的所有数据填充它们。现在我只需要合并数据并匹配列,以便以后可以删除任何重复的行。下面是我创建的两个查询,用于返回我正在寻找的结果。我的问题是,当我运行第二个查询时,出现以下错误:

有人可以帮助我了解发生了什么吗?

查询 1

查询 2

0 投票
1 回答
359 浏览

sql - 为什么这个合并语句不起作用?

我花了一天的大部分时间试图确定为什么合并语句不起作用,我开始认为这个问题一定是有点异国情调。

我的数据库有几十个使用合并语句的 PL/SQL 过程,但我绝对不能让一个特别工作。尽管它比所示示例大得多,但我已将其剥离,使其仅更新几列,但仍无法编译。

错误是 'ORA-00904 "alias"."column_name" invalid identifier'。这通常意味着列名输入错误,或者在合并的情况下,您正在尝试更新连接中使用的字段。绝对不是这种情况。我已经四倍检查并且列名是正确的,它们都存在并且语句的格式与我在许多其他地方使用的格式完全相同。

任何想法这里还有什么问题?表可能存在某种类型的损坏吗?

版本为10g。

0 投票
2 回答
10217 浏览

sql - pl/sql - to_date 不适用于执行立即参数

我希望能够像这样执行我的以下过程:

过程代码是:

它不断抛出错误:

ORA-00904: "JAN": 无效标识符。

它可以编译,但是当我运行此命令时会引发错误:

0 投票
6 回答
62587 浏览

sql - 在 where 子句中使用“案例表达式列”

这失败了:

ORA-00904: "%s: 无效标识符"

有没有办法克服 Oracle 10.2 SQL 中的这个限制?如何在 where 子句中使用“案例表达式列”?

0 投票
5 回答
16420 浏览

sql - 是否可以在逗号分隔的列中查询特定值?

我有(并且不拥有,所以我不能更改)一个布局与此类似的表格。

我需要返回包含特定类别 ID 的行。我首先使用 LIKE 语句编写查询,因为值可以在字符串中的任何位置

SELECT id FROM table WHERE categories LIKE '%c2%'; 将返回第 2 行和第 3 行

SELECT id FROM table WHERE categories LIKE '%c3%' and categories LIKE '%c2%';会再次让我第 2 行和第 3 行,但不是第 4 行

SELECT id FROM table WHERE categories LIKE '%c3%' or categories LIKE '%c2%';将再次让我获得第 2、3 和 4 行

我不喜欢所有的LIKE陈述。我FIND_IN_SET()在 Oracle 文档中找到了,但它似乎不适用于 10g。我收到以下错误:

运行此查询时:(SELECT id FROM table WHERE FIND_IN_SET('c2', categories);来自文档的示例)或此查询:(SELECT id FROM table WHERE FIND_IN_SET('c2', categories) <> 0;来自 Google 的示例)

我希望它返回第 2 行和第 3 行。

有没有更好的方法来编写这些查询而不是使用大量LIKE语句?

0 投票
4 回答
18113 浏览

sql - 奇怪的 Oracle SQL“无效标识符”错误

谁能帮我弄清楚为什么我会出错cms.CRIME_ID

不合法的识别符

我知道列存在的绝对事实,我可以引用该表中除此之外的所有其他列。

该列的唯一不同之处在于它是该表的主键。

编辑:这是完整的错误和表创建脚本。



EDIT2:另外,我可能应该提到,当不使用连接和仅使用常规选择语句时,我可以很好地访问该列,如以下代码示例所示:

0 投票
1 回答
6083 浏览

oracle - Oracle新手错误:ORA-00904 Invalid identifier when using "case when"

我在查询中遇到错误。此查询正常并返回数据(选择和行数用于分页):

现在我试图包含一个“case when”并仅在某些情况下获取 url,所以我进行了这些修改,包括一个 case 块:

Oracle 启动此错误:

我想那是因为我要求 inscription_date 并在同一查询级别使用它,但我不知道如何处理这个问题。

另外,我怎样才能做出我想做的东西?我的意思是,仅在特定条件下获取 url。

有人可以帮忙吗?

先感谢您。

0 投票
2 回答
7208 浏览

sql - ORACLE: ORA-00904: : 无效的标识符

我创建了以下选择:

但我得到“ORA-00904:“E”。“EMP_ID”:无效标识符”

如何在子查询中使用对 E.EMP_ID 的引用?

0 投票
5 回答
367 浏览

sql - 带有子查询的 SQL 更新

我在 Oracle 11g 中遇到以下更新查询问题:

ORA-00904: "A"."COL4": 无效 ID。

所以,a.COL4 在子查询中是未知的,但我不知道如何解决这个问题。

/编辑。我想做什么?

对于 TABLE_A 中的每条记录,TABLE_B 中都有多条记录。然而,来自客户的新要求:TABLE_A 将获得 2 个新列,而 TABLE_B 将被删除。因此,子查询的第一条记录的表示将被写入第一个新字段,第二个字段也是如此。第一个记录很容易,因为 Mike C 的解决方案可以与 ROW_NUMBER = 1 一起使用。

示例行:

0 投票
3 回答
52019 浏览

database - “日期”作为列名

我有一张叫做日历的表。

其中一列名为“日期”

当我想选择日期列时,它会给出错误 ORA-01747,即无效的 table.column。

我猜这是因为“日期”是 pl/sql 的保留字。问题是甚至无法更改列名:

结果是:ORA-00904 错误:标识符无效。

你有什么建议?

谢谢。