小编Zor*_*eza的帖子

在 oracle 中将 group by 与数组一起使用

有没有办法在使用 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

5
推荐指数
1
解决办法
2903
查看次数

标签 统计

oracle ×1