Мне нужно написать команду 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
Это кажется мне неправдоподобным, поскольку в моей части запроса не используется агрегация. Кроме того, когда я запрашиваю соответствие filename определенному шаблону:
SELECT * FROM EDBADM.VW_THEVIEWNAME WHERE filename LIKE 'abc%'
... Я по-прежнему получаю строки результатов, в которых filename имеет значение NULL.
Возможно ли, что базовое, недоступное определение представления неверно, что приводит к такому странному поведению??
ALL_VIEWS
? - person Alex Poole   schedule 13.05.2011