oracle ORA-00998:“必须使用列别名命名此表达式”

t2a7ltrp  于 2022-12-11  发布在  Oracle
关注(0)|答案(1)|浏览(1368)

我需要有关该错误的帮助这是我的代码

CREATE OR REPLACE VIEW emplpersuc
AS SELECT SUCURSAL.NOMBRE, COUNT(SUCURSAL.NOMBRE) FROM VENTA
JOIN SUCURSAL ON SUCURSAL_CODIGO_SUCURSAL=CODIGO_SUCURSAL
GROUP BY SUCURSAL.NOMBRE
ORDER BY COUNT(SUCURSAL.NOMBRE) DESC;

我尝试了我所知道的一切,我绝望了

piok6c0g

piok6c0g1#

如错误所述,您需要确保所有列都具有有效的标识符(尽管COUNT(NOMBRE)是有效的表达式,但它不是在视图中命名列的有效标识符)。
您可以在检视的签章中命名它:

CREATE OR REPLACE VIEW emplpersuc (nombre, nombre_count) AS
SELECT s.NOMBRE,
       COUNT(s.NOMBRE)
FROM   VENTA v
       JOIN SUCURSAL s
       ON SUCURSAL_CODIGO_SUCURSAL=CODIGO_SUCURSAL
GROUP BY s.NOMBRE
ORDER BY COUNT(s.NOMBRE) DESC;

或在查询中使用列别名:

CREATE OR REPLACE VIEW emplpersuc AS
SELECT s.NOMBRE,
       COUNT(s.NOMBRE) AS nombre_count
FROM   VENTA v
       JOIN SUCURSAL s
       ON SUCURSAL_CODIGO_SUCURSAL=CODIGO_SUCURSAL
GROUP BY s.NOMBRE
ORDER BY COUNT(s.NOMBRE) DESC;

相关问题