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
...全文
98 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
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

22,300

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧