标头/明细混合 [英] Header / Detail mixed
本文介绍了标头/明细混合的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一张桌子:
I have a table:
IDX MyText
1 Header1
2 BodyA
3 BodyB
4 Header2
5 BodyC
6 BodyD
7 BodyE
8 Header3
9 BodyF
10 BodyG
11 BodyH
我想要的是:
What I want is:
IDX MyHeader MyText
2 Header1 BodyA
3 Header1 BodyB
5 Header2 BodyC
6 Header2 BodyD
7 Header2 BodyE
9 Header3 BodyF
10 Header3 BodyG
11 Header3 BodyH
我试过了:
I have tried:
SELECT IDX, MyText AS MyHeader
INTO #Temp1
FROM MyTable
WHERE LEFT(MyText, 7) = 'History'
SELECT
P.IDX
, (SELECT TOP(1) T.IDX, T.MyHeader FROM #Temp1 T WHERE T.IDX < P.IDX ORDER BY T.IDX DESC) AS MyHeader
, P.MyText
FROM MyTable P
WHERE LEFT(P.MyText, 7) <> 'History'
我收到的错误信息:
第16层,状态1,第3行,消息116
如果未使用EXISTS引入子查询,则只能在选择列表中指定一个表达式.
有人可以指出我正确的方向吗?
感谢
To which I get the error:
Msg 116, Level 16, State 1, Line 3
Only one expression can be specified in the select list when the subquery is not introduced with EXISTS.
Can someone point me in the correct direction?
Thanks
推荐答案
在以下位置找到了解决方案: ^ ]
进行了一些调整,但仍能正常工作.
Found a solution at: stackoverflow SQL:How to fill empty cells with previous row value[^]
Took a little tweaking but got it to work.
这篇关于标头/明细混合的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文