【发布时间】:2019-06-01 01:49:52
【问题描述】:
我的查询如下:
SELECT
s.NUM_STATION, extract(year from r.DATER), cl.NB_RESERV
FROM
STATION s, HOTEL h, CHAMBRE c, RESERVATION r, CLIENTS cl, PAYEMENT p
WHERE
s.NUM_STATION = h.NUM_STATION
AND h.NUM_HOTEL = c.NUM_HOTEL
AND c.IDCHAMBRE = r.IDCHAMBRE
AND r.NUMC = cl.NUMC
AND cl.NUMC = p.NUMC
GROUP BY
s.NUM_STATION;
我收到以下错误:
ORA-00979:不是 GROUP BY 表达式
00979. 00000 - “不是 GROUP BY 表达式”
*原因:
*操作:行错误:48 列:41
【问题讨论】:
-
您只能选择group by子句或聚合函数中的值
-
顺便说一句,不要使用旧语法。使用现代的
join语法 -
Bad habits to kick : using old-style JOINs - 旧式 逗号分隔的表格列表 样式已替换为 ANSI 中的 proper ANSI
JOIN语法-92 SQL 标准(25 多年前),不鼓励使用它
标签: sql database oracle date join