有没有办法在 SQL Server Management Studio (SSMS) 中分隔查询结果?

Is there a way to separate query results in SQL Server Management Studio (SSMS)?

我得到了一个简单的查询,其中 return 来自 OrderLine table 的结果。有没有一种方法可以在视觉上分隔查询结果以使其更易于阅读,就像此处显示的图像所示?

SELECT [OrderNo], [LineNo] 
FROM [OrderLine]

结果:

你不能直接这样做。也许添加一个新列,该列要么为空,要么其中有一个值,以便它交替出现。 像这样:

select ..., case when rank() over (order by OrderNO) % 2 then 'XXX' else null end 
from....

%2 是一个 'modulo' 运算符...

您可以像这样执行多个查询:

DECLARE @i int = 1
DECLARE @OrderNo
DECLARE @OrderNos TABLE (
    Idx smallint Primary Key IDENTITY(1,1)
    , OrderNo int
)

INSERT @OrderNos
SELECT distinct [OrderNo] FROM [OrderLine]

WHILE (@i <= (SELECT MAX(idx) FROM @employee_table))
BEGIN

    SET @OrderNo = (SELECT [OrderNo] FROM [OrderNos] WHERE [Idx] = @i)

    SELECT [OrderNo], [LineNo] 
    FROM [OrderLine]
    WHERE [OrderNo] = @OrderNo

    SET @i = @i + 1

END
drop table if exists #OrderLine;

select object_id as OrderNo, abs(checksum(newid())) as [LineNo]
into #OrderLine
from sys.columns;

-- ... results to text (ctrl+T)?
select OrderNo, [LineNo], 
case when lead(OrderNo, 1) over(partition by OrderNo order by OrderNo) = OrderNo then '' else replicate('-', 11) + char(10) end
from #OrderLine;

--inject NULL
select case when [LineNo] is null and flag=2 then null else TheOrderNo end as OrderNo, [LineNo]
from
(
    select OrderNo AS TheOrderNo, [LineNo], 1 as flag
    from #OrderLine
    union all
    select distinct OrderNo, NULL, 2
    from #OrderLine
) as src
order by TheOrderNo, flag;