我必须编写一个查询数据库中视图的 SQL 命令。我自己没有创建它们,也无权访问这些表。我们的软件制造商仅向我们提供视图。我正在使用 Oracle SQL Developer 3.0 进行查询。以下命令按预期完美运行:
SELECT * FROM EDBADM.VW_THEVIEWNAME
但是,当我要求某个列(称为filename)不包含任何空值时:
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
这对我来说似乎难以置信,因为我的查询部分不涉及聚合。此外,当我查询文件名以匹配某个模式时:
SELECT * FROM EDBADM.VW_THEVIEWNAME WHERE filename LIKE 'abc%'
...我仍然得到文件名为 NULL 的结果行。
是否有可能是视图的底层、不可访问的定义不正确,导致这种奇怪的行为?