求助,我该如何用 sql 实现这种报表排版?

2016-10-28 17:32:32 +08:00
 KagamineLenKai2
node | apply_id | time | operator_name
1 | 10000 | 2016/10/28 15:24 | Clarkson
2 | 10000 | 2016/10/28 15:25 | May
3 | 10000 | 2016/10/28 15:26 | May
1 | 10000 | 2016/10/28 15:27 | Clarkson
2 | 10000 | 2016/10/28 15:28 | May
3 | 10000 | 2016/10/28 15:29 | May
1 | 10000 | 2016/10/28 15:30 | Clarkson
2 | 10000 | 2016/10/28 15:31 | May
3 | 10000 | 2016/10/28 15:32 | May
1 | 10000 | 2016/10/28 15:33 | Clarkson
2 | 10000 | 2016/10/28 15:34 | May

这是我需要查询的原表,实际业务中使用的表要复杂很多。 node 1 为起点, 1 结束后进入 2 ,如果 2 退回 1 的话会生成 3

apply_id | 1_time | 1_operator_name | 2_time | 2_operator_name | 3_time | 3_operator_name
10000 | 2016/10/28 15:24 | Clarkson | 2016/10/28 15:25 | May | 2016/10/28 15:26 | May
10000 | 2016/10/28 15:27 | Clarkson | 2016/10/28 15:28 | May | 2016/10/28 15:29 | May
10000 | 2016/10/28 15:30 | Clarkson | 2016/10/28 15:31 | May | 2016/10/28 15:32 | May
10000 | 2016/10/28 15:33 | Clarkson | 2016/10/28 15:34 | May

这是我想生成的表。但是我不知道语句该怎么写才能排成这个样子……
现在的做法是先把原表按 node 分成 1 2 3 三个表,再 left join on apply_id
不过这样出来的结果是三个表排列组合的所有结果,一共 4×4×3=48 行,所以大概要在 time 那里加个判断?
请教各位 dalao 该怎么实现…蟹蟹…/(ㄒoㄒ)/~~
1381 次点击
所在节点    问与答
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/316255

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX