首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >TSQL游标以包括指示排序中断的行

TSQL游标以包括指示排序中断的行
EN

Stack Overflow用户
提问于 2014-03-17 20:04:49
回答 1查看 42关注 0票数 0

我想在返回数据集时创建一个“中断”行。我的Cobol程序要求我使用游标。结果集按CheckNumber、MemberID和ClaimNo排序。每次MemberID发生变化时,我都会返回一些行来表示中断。

例如,

代码语言:javascript
运行
复制
Chk  MbrId  ClaimNo

100  PAUL   1-1
100  PAUL   2-2
100  XXXX  (break row)
100  SALLY  1-1
100  SALLY  2-2

这有可能吗?

EN

回答 1

Stack Overflow用户

发布于 2014-03-17 21:49:03

这里有一个使用派生表的解决方案。我不知道您使用的是什么版本的SQL Server,但它至少应该与SQL Server 2000兼容。

代码语言:javascript
运行
复制
--Test Table
CREATE TABLE #TestData (
    Chk INT,
    MbrId VARCHAR(16),
    ClaimNo VARCHAR(16)
)

--Test data.
INSERT INTO #TestData (Chk, MbrId, ClaimNo)
VALUES
    (100, 'PAUL', '1-1'),
    (100, 'PAUL', '2-2'),
    (100, 'SALLY', '1-1'),
    (100, 'SALLY', '2-2'),
    (100, 'JOHN', '1-1'),
    (100, 'JOHN', '2-2')

--Use this tsql statement for your cursor.
SELECT dt.Chk, dt.MbrTemp AS MbrId, dt.ClaimNo
FROM 
(
    SELECT Chk, MbrId, MbrId AS MbrTemp, ClaimNo, 1 SortOrder
    FROM #TestData
    UNION
    SELECT Chk, MbrId, 'XXXX' AS MbrTemp, '(break row)' ClaimNo, 2 SortOrder
    FROM #TestData
    GROUP BY Chk, MbrId
) dt    --derived table
ORDER BY Chk, dt.MbrId, SortOrder, ClaimNo
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22453811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档