列出类别中的项目(SQL)
我有如下数据集: +-----------------+---------------------+ | job_code | job_title | +-----------------+---------------------+ | finance_acct | Business Accountant | | finance_manager | Business Manager | | it_programmer | IT Programmer | | it_manager | IT Manager | +-----------------+---------------------+ +-----------------+---------------------+ |职务代码|职务名称| +-----------------+---------------------+ |财务会计业务会计| |财务经理|业务经理| |it程序员it程序员| |it经理| it经理| +-----------------+---------------------+ 等等 我想把所有共享相同前半部分职务代码的职务都打印成一个列表。例如: +-----------------+---------------------+ | job_code | job_title | +-----------------+---------------------+ | finance_acct | Business Accountant | | finance_manager | Business Manager | | it_programmer | IT Programmer | | it_manager | IT Manager | +-----------------+---------------------+ 财务:业务会计、业务经理 it:it程序员、it经理 我该怎么做?我知道如何使用列出类别中的项目(SQL),sql,oracle,Sql,Oracle,我有如下数据集: +-----------------+---------------------+ | job_code | job_title | +-----------------+---------------------+ | finance_acct | Business Accountant | | finance_manager | Business Manager | | it_programmer | IT Programm
SUBSTR
提取作业代码的第一部分。基本上我可以很好地创建左列。但我遇到了几个问题:
GROUP BY
命令,我不断得到ORA-00979错误(“非
由表达式组成的一组CONCAT
,但即使这样,后面也会有多余的逗号
给定行的最后一个条目。我在网上看到了一些关于
STUFF
命令,但我知道没有这个命令也可以这样做regexp\u substr()
从job\u code
中提取所需的零件。剩下的只是聚合和listag()
:
regexp\u substr()
想到从作业\u代码中提取所需的零件。剩下的只是聚合和listag()
:
最好的方法是添加一列来指示类别,也可能添加一个单独的表,以便您可以将类别与类别描述分开。您使用的是哪一版本的Oracle DB server?这可能会影响可用选项(例如,所提到的listag
功能在旧版本中不可用)。最好的方法是添加一列以指示类别,以及一个单独的表,以便您可以将类别与类别描述分开。您使用的是哪一版本的Oracle DB server?这可能会影响可用选项(例如,所述的listag
功能在旧版本中不可用)。