有没有办法在使用 GROUP BY 命令时获取数组列?我试图从 oracle 数据库中获取几何作为坐标数组,但是在尝试使用命令 GROUP BY 时出现错误
SELECT A.C_ID,
A.ID,
COUNT(T.Text),
LISTAGG(T.TEXT, '/// ') WITHIN GROUP (ORDER BY NULL) text,
P.GEOMETRY.sdo_ordinates p_geom
FROM G_P_THEME A
LEFT JOIN G_POLYGON P on P.C_ID=A.C_ID and P.ID=A.ID
LEFT JOIN G_P_TEXT T on P.C_ID=T.C_ID and P.ID=T.ID
WHERE (A.THEME_ID=440 OR A.THEME_ID=47)
Group by A.C_ID, A.ID
Having (COUNT(T.Text) > 1);
Run Code Online (Sandbox Code Playgroud)
它返回一个错误
ORA-00979: not a GROUP BY expression
00979. 00000 - "not a GROUP BY expression"
*Cause:
*Action:
Run Code Online (Sandbox Code Playgroud)
我知道这是因为如果我在 GROUP BY 中添加 P.GEOMETRY.sdo_ordinates 在 GROUP BY …
oracle ×1