我创建了一个带有别名的列的视图,现在我想从单独的SELECT语句中使用此列上的MAX()函数,但我不知道如何。 (我一直在MAX()函数中写入“无效标识符”错误。)
CREATE OR REPLACE VIEW C17_AbfrageBView AS
SELECT p.PersonID, p.Vorname, p.Nachname,
COUNT(DISTINCT f.FachID) "Fachanzahl" -- this column
FROM ...
GROUP BY p.PersonID, p.Vorname, p.Nachname
ORDER BY 4;
SELECT PersonID, Vorname, Nachname,
MAX(Fachanzahl) "Fachanzahl" -- right here
FROM C17_AbfrageBView
GROUP BY PersonID, Vorname, Nachname;
我也尝试过:
SELECT ..., MAX(COUNT(DISTINCT FachID)) "Fachanzahl"
FROM C17_AbfrageBView
...
感谢您的帮助!
答案 0 :(得分:1)
视图C17_AbfrageBView有一个名为"Fachanzahl"
的列(区分大小写,需要双引号),因此在查询视图时必须引用它。
您可以在SQL * Plus中描述视图(describe c17_abfragebview
,或右键单击IDE中的名称)以确认可用列的列表。
区分大小写的名称很不方便,所以我强烈建议命名列Fachanzahl
而不是"Fachanzahl"
。
答案 1 :(得分:-1)
你必须使用如下
SELECT PersonID, Vorname, Nachname,
MAX([Fachanzahl]) "Fachanzahl" -- right here
FROM C17_AbfrageBView
GROUP BY PersonID, Vorname, Nachname;
使用[]
问候。