我必须编写一个 SQL 命令来查询数据库中的 View 。我没有自己创建它们,也无权访问这些表。我们的软件制造商仅向我们提供了 View 。我正在使用 Oracle SQL Developer 3.0 进行查询。以下命令按预期完美运行:
SELECT * FROM EDBADM.VW_THEVIEWNAME
但是,当我要求某个列(称为文件名)不包含任何空值时:
SELECT * FROM EDBADM.VW_THEVIEWNAME WHERE filename IS NOT NULL;
....我收到以下错误:
ORA-00979:
00979. 00000 - "not a GROUP BY expression"
*Cause:
*Action:
Error in line: 3 column: 75
这对我来说似乎难以置信,因为我的查询部分没有涉及聚合。此外,当我查询 filename 以匹配特定模式时:
SELECT * FROM EDBADM.VW_THEVIEWNAME WHERE filename LIKE 'abc%'
...我仍然得到 filename 为 NULL 的结果行。
有没有可能是底层的、不可访问的 View 定义不正确,导致了这种奇怪的行为??
最佳答案
您可以发布您的 View 创建脚本吗?名为 VW_THEVIEWNAME 的 View 中是否显式声明了名为 filename 的列?
关于sql - View 查询导致 Oracle SQL Developer 出现奇怪的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5989641/