在SQL语句的字符串中查找字符串
|
我有一列显示了我们公司经历的项目的标题,另一列显示了每个项目的工作时间。
项目标题包含关键字,关键字的定义格式为\'keyword:\',即\'ETL:\'
某些项目具有多个关键字,即\'客户:ETL:ASCX:\'
因此,例如,项目标题可能为“客户:ETL:ASCX:更新导入过程”
我不提前知道这些关键字。
我想要给定关键字的总小时数和项目
因此,我们以以下两个项目标题为例:
客户:ETL:ASCX:有20小时的
工作投入其中。
客户:ETL:
桥梁:投入了10个小时的工作
它。
该报告应给出:
Keyword - Total Projects - Total Hours
Client: - 2 -30
ETL: - 2 - 30
ASCX: - 1 - 20
Bridge: - 1 - 10
获取关键字的第一个实例很容易-只需子字符串即可;但是事实证明,找到嵌套关键字很困难。
可以在SQL中完成嵌套搜索吗?
有没有人?
UPDATE(最初发布为\“ answer \”):
进一步的例子:
假设我有两条记录具有以下项目名称:
Record 1: Interface: ETL:
Record 2: ETL:
记录1有10个小时,记录2有30个小时。
现在,我的代码捕获了第一个关键字实例,所以我现在的输出是(关键字:小时)
ETL: 30
Interface: 10
但是,要求是要显示ETL已分配了40个小时,因为两个项目都将ETL作为关键字:
ETL: 40
Interface: 10
因此,可以肯定的是,我可以使用LIKE查找所有ETL或Interface的实例,但需要在select each关键字中进行细分。对于上面的示例,如果我使用类似\'%ETL:%\'的方法,则会同时获得两条记录,但是我想查看所有关键字的所有小时数,并按关键字细分。
也许更好的问题是:
我如何获得如下所示的记录:
Interface: ETL:
变成如下所示的输出:
Interface:
ETL:
在SQL中?
没有找到相关结果
已邀请:
2 个回复
物崎巩
子句进行拆分(只是一种方式)。假设您具有通过ID字段建立关系的单独的
和
表:
这个:
给出以下内容:
编辑或者,如果包括第二组示例,则给出:
改编自这里的答案-因此,任何荣誉都应该归功于Rob van Wijk。 我已经假定关键字总是后面跟一个冒号,而最后一个冒号之后的任何内容都不应被视为关键字,只需要在
处加上-1。
担每棱绰