SQL语句监控数据集中左到右第一个1所在的位置

linzuoyi 2015-10-29 10:45:43

结果是:
1 b
2 c
3 d
4 f
5 c
6 b
7 e
8 c
9 g
10 e
11 e
12 g
13 h
14 i
15 j
...全文
57 点赞 收藏 2
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
linzuoyi 2015-10-29
类似程序里:行遍历列遍历
回复
Tiger_Zhao 2015-10-29
WITH
/* 测试数据
table1(ID,A,B,C,D,E,F,G,H,I,J)AS(
SELECT 1,0,1,1,1,1,1,1,1,1,1 UNION ALL
SELECT 2,0,0,1,1,1,1,1,1,1,1 UNION ALL
SELECT 3,0,0,0,1,1,1,1,1,1,1 UNION ALL
SELECT 4,0,0,0,0,0,1,1,1,1,1
),*/
a AS (
SELECT *
FROM table1
UNPIVOT (
value
FOR col IN (A,B,C,D,E,F,G,H,I,J)
) u
)
SELECT ID,
MIN(col) firstCol
FROM a
WHERE value = 1
GROUP BY ID

         ID firstCol
----------- --------
1 B
2 C
3 D
4 F
回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2015-10-29 10:45
社区公告
暂无公告