日期:2014-05-18  浏览次数:20704 次

求一个sql语句,实现在查询结果中显示每5行后加一空白行
SQL code

exec(
select 1 as jh, ... pivot
union all
d


al

查询结果为:
1 ...
2 ...
3 ...
4 ...
5 ...

1 ...
2 ...
3 ...
4 ...
5 ...

1 ...
2 ...
3 ...
4 ...
5 ...
......
其中这个查询有30列

SQL code
 
union all
select '' as jh ...

30列啊其中还有pivot转化的列。。。

------解决方案--------------------
没看明白,帮顶.
------解决方案--------------------
SQL code
CREATE TABLE [TB] (
    [ID] [int] IDENTITY (1, 1) NOT NULL ,
    [ITEM] [int] NULL ,
    [NOTE] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
    CONSTRAINT [PK_TB] PRIMARY KEY  CLUSTERED 
    (
        [ID]
    )  ON [PRIMARY] 
) ON [PRIMARY]
GO




INSERT INTO TB (ITEM, NOTE) SELECT 3,'XX'
INSERT INTO TB (ITEM, NOTE) SELECT 3,'XX'
INSERT INTO TB (ITEM, NOTE) SELECT 4,'XX'
INSERT INTO TB (ITEM, NOTE) SELECT 5,'XX'
INSERT INTO TB (ITEM, NOTE) SELECT 5,'XX'
INSERT INTO TB (ITEM, NOTE) SELECT 6,'XX'

SELECT * FROM TB

/*-----------------------
3    XX
3    XX
4    XX
5    XX
5    XX
6    XX
*/
SELECT
    ITEM=CASE WHEN ID=(
                          SELECT MIN(ID)
                          FROM TB
                          WHERE ITEM=A.ITEM
                      )
               THEN RTRIM(ITEM) ELSE '' END,
    NOTE
FROM TB AS A
ORDER BY ID

/*
ITEM         NOTE
------------ --------------------
3            XX
             XX
4            XX
5            XX
             XX
6            XX
SELECT
    ITEM,
    NOTE
FROM (
    SELECT
        RTRIM(ITEM) AS ITEM,NOTE,ITEM AS order1,0 AS order2
    FROM TB
    UNION ALL
    SELECT '','',ITEM,1
    FROM TB
    GROUP BY ITEM
) AS A
ORDER BY order1,order2
3    XX
3    XX

4    XX

5    XX
5    XX

6    XX

------解决方案--------------------
有点棘手 帮顶
------解决方案--------------------
不太明白!帮顶!
------解决方案--------------------
老师的
------解决方案--------------------
一般这种我都在前台实现
------解决方案--------------------
看了半天,还是不明白
------解决方案--------------------
探讨
看了半天,还是不明白

------解决方案--------------------
这功能应该交给前台去做,数据库不擅长处理格式。
------解决方案--------------------
SQL code

这功能应该交给前台去做!定!

------解决方案--------------------
探讨
这功能应该交给前台去做,数据库不擅长处理格式。

------解决方案--------------------
--产品
select [产品] as rowNum,[产品],[销售类型] into #a from ( 
select 1 '产品','市场' '销售类型'
union 
select 2 '产品','配套' '销售类型'
union 
select 3 '产品','外贸' '销售类型'
union 
select 4 '产品','市场' '销售类型'
union 
select 5 '产品','配套' '销售类型'
union 
select 6 '产品','外贸' '销售类型'
union 
select 7 '产品','市场' '销售类型'
union 
select 8 '产品','配套' '销售类型'
union 
select 9 '产品','外贸' '销售类型'
union 
select 10 '产品','外贸' '销售类型'
) as a
select * from #a

declare @countNum int,@rows int ,@i int,@rowNum int