在单独的 SELECT 语句中使用视图的列别名
Use a view's column alias in a seperate SELECT statement
我创建了一个视图,其中有一列带有别名,现在我想通过单独的 SELECT 语句在此列上使用 MAX() 函数,但我不知道如何操作。 (对于我在 MAX() 函数中编写的内容,我不断收到 "invalid identifier" 错误。)
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
...
感谢您的帮助!
视图 C17_AbfrageBView 有一个名为 "Fachanzahl"
的列(区分大小写,需要双引号),因此在查询视图时必须引用它。
您可以描述视图(describe c17_abfragebview
在 SQL*Plus 中,或者右键单击 IDE 中的名称)以确认可用列的列表。
区分大小写的名称虽然不方便,所以我强烈建议将列命名为 Fachanzahl
而不是 "Fachanzahl"
。
你只需要如下使用
SELECT PersonID, Vorname, Nachname,
MAX([Fachanzahl]) "Fachanzahl" -- right here
FROM C17_AbfrageBView
GROUP BY PersonID, Vorname, Nachname;
使用[]
问候。
我创建了一个视图,其中有一列带有别名,现在我想通过单独的 SELECT 语句在此列上使用 MAX() 函数,但我不知道如何操作。 (对于我在 MAX() 函数中编写的内容,我不断收到 "invalid identifier" 错误。)
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
...
感谢您的帮助!
视图 C17_AbfrageBView 有一个名为 "Fachanzahl"
的列(区分大小写,需要双引号),因此在查询视图时必须引用它。
您可以描述视图(describe c17_abfragebview
在 SQL*Plus 中,或者右键单击 IDE 中的名称)以确认可用列的列表。
区分大小写的名称虽然不方便,所以我强烈建议将列命名为 Fachanzahl
而不是 "Fachanzahl"
。
你只需要如下使用
SELECT PersonID, Vorname, Nachname,
MAX([Fachanzahl]) "Fachanzahl" -- right here
FROM C17_AbfrageBView
GROUP BY PersonID, Vorname, Nachname;
使用[]
问候。