首页 > 解决方案 > 在 oracle apex 中使用 group by 子句

问题描述

首先,我是 Oracle 的新手,这就是为什么我的问题对于有经验的开发人员来说可能很有趣。对此提前表示抱歉。

问。我有一个包含 3 个列(ID、名称、组名)的表测试

桌子

ID | Name | Group_name
1  | name1 | group 1 
2  | name2 | group 1  
3  | name3 | group  1 
4  | name4 | group 2
5  | name5 | group 2

我想在 oracle apex 中创建一个选择列表。

-选择-

(Group 1)
Name 1
Name 2
Name 3
(Group 2)
Name 4
Name 5

其中Group1 & Group2仅用于显示,不可选择。

我试过了:

SELECT NAME, ID
FROM TEST
GROUP BY GROUP_NAME

给出错误:

不是按表达式分组

标签: sqloracleoracle-apex

解决方案


首先,您的查询不是有效的 SQL。这在任何环境中都不起作用,无论是 Apex 还是 sqlplus。但这并不重要,因为...

其次,由于您希望显示组名而不是可选择的,因此您尝试生成的 HTML 将类似于:

<select>
    <optgroup label="Group 1">
        <option>Name 1</option>
        <option>Name 2</option>
        <option>Name 3</option>
    </optgroup>
    ....

Apex Select 项目类型不支持<optgroup>(除非他们在最近的版本中添加了该项目)。

我认为您的选择是编写一个插件,但这是一个相当高级的主题,或者使用其他人已经制作的插件。Select2 Apex 插件适用于您的目的。请参阅该页面下方的“选项分组”。


推荐阅读