【发布时间】:2010-10-22 01:23:44
【问题描述】:
我有如下数据
DECLARE @tmp TABLE(cid int, colspan int, rowspan int, corder int)
INSERT INTO @tmp
SELECT 1,2,null,1
UNION
SELECT 2,null,null,2
UNION
SELECT 3,null,null,3
UNION
SELECT 4,3,null,4
UNION
SELECT 5,null,null,5
UNION
SELECT 6,null,null,6
UNION
SELECT 7,null,null,7
我要查询返回
cid colspan rowspan corder
-------------------------------------
1 2 null 1
3 null null 3
4 3 null 4
7 null null 7
记录将按 corder 排序,然后使用 colspan 值跳过下一个记录(如果 colspan = 2 跳过下一个 1,如果 3 跳过下一个 2)。使用查询可以做到这一点吗?
为什么我想要这些数据 - 我正在尝试将此数据绑定到转发器控件(表格模板)以创建动态表格,并且当 colspan > 0 时,我不希望我的转发器生成 td 项,以便正确跨越。
【问题讨论】:
-
在代码中做这种事情比在 sql 中容易得多
标签: .net sql sql-server sql-server-2005 sql-server-2008