我们的想法是使用" view" -statement预定义Min和Max Funktion,然后组合这两个视图表并获得一个输出。 首先,收集每个部门(Abteilung)的最高和最低工资(Gehalt)。与他们的工人ID(Mitarbeiternummer)相结合,名字和姓氏都是Min和Max的字样,用于说明它的确切含义,最低工资或最高工资。
这里是完整的代码:
DROP VIEW IF EXISTS view_min_abteilung;
CREATE VIEW view_min_abteilung as (
SELECT mi.abteilung, "min" AS ['Min Max'], MIN(mi.gehalt) AS Gehalt
FROM mitarbeiter mi
GROUP BY mi.abteilung
);
drop view if exists view_max_abteilung;
CREATE VIEW view_max_abteilung as (
SELECT ma.abteilung, "max" AS ['Min Max'], MAX(ma.gehalt) AS Gehalt
from mitarbeiter ma
group by ma.abteilung
);
SELECT m.Mitarbeiternummer, m.Vorname, m.Name, mi.Abteilung, mi.['Min Max'], mi.Gehalt
FROM view_min_abteilung mi, mitarbeiter m
WHERE mi.abteilung = m.Abteilung and mi.Gehalt = m.Gehalt
UNION ALL
SELECT m.Mitarbeiternummer, m.Vorname, m.Name, ma.abteilung, ma.['Min Max'], ma.Gehalt
FROM view_max_abteilung ma, mitarbeiter m
WHERE ma.abteilung = m.Abteilung and ma.Gehalt = m.Gehalt
ORDER BY abteilung, minmax
现在,在由UNION语句组合的select语句中,我必须访问" Min Max" columm,这就是问题发生的地方,因为Min和Max之间的空间会产生2个函数。 我总是收到错误消息。
我试图用几种方法没有成功: mi。[' Min Max']和ma。[' Min Max'] 以及 mi。' Min Max'和马。' Min Max' 但没有运气
任何想法??
很抱歉,我没有正确解释自己
问候和感谢
答案 0 :(得分:0)
请尝试写[Min Max]而不是['Min Max']。 顺便说一下,不需要两个单独的视图。您只需在一个视图中使用Min和Max。