我正在与一个设计奇怪(我们称之为次优)的Oracle数据库一起工作。其中一个问题是,其中一个列包含两种不同类型的文本数据:“标题”数据和“内容”数据。就像这样:
id | text |
---|---|
1 | Header 1: |
2 | abc |
3 | def |
4 | Header 2: |
5 | ghi |
6 | jkl |
7 | mno |
8 | Header 3: |
9 | pqr |
如果可能的话,我需要构建SQL语句,以便将“Header”行作为“内容”行的控制中断返回,以获得这些结果:
Header 1: abc
Header 1: def
Header 2: ghi
Header 2: jkl
Header 2: mno
Header 3: pqr
id值是顺序的,但是每个标题的内容可以跨越任意数量的行。因此,确定每个“内容”行所属的“标题”的唯一线索是先前看到的标题(文本类似于'%Header%'且id值最大,小于当前行的id值)。