首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >SQL -根据特定条件从下一行获取值

SQL -根据特定条件从下一行获取值
EN

Stack Overflow用户
提问于 2019-05-16 07:16:20
回答 1查看 45关注 0票数 0

我有下表:

代码语言:javascript
复制
| ID | Ref | Type |              LogTime |
|----|-----|------|----------------------|
|  1 |  AA |    1 | 2019-05-03 18:30:01  |
|  2 |  BB |    1 | 2019-05-03 19:42:02  |
|  3 |  AA |    3 | 2019-05-04 12:30:03  |
|  4 |  BB |    3 | 2019-05-05 19:42:04  |
|  5 |  AA |    1 | 2019-05-06 20:55:05  |

我想列出类型=1的所有行,并包括引用值相等且类型=3的LogTime的值

如下所示:

代码语言:javascript
复制
| ID | Ref | Type |              LogTime |        LogTime_Type3 |
|----|-----|------|----------------------|----------------------|
|  1 |  AA |    1 | 2019-05-03 18:30:01  | 2019-05-04 12:30:03  |
|  2 |  BB |    1 | 2019-05-03 19:42:02  | 2019-05-05 19:42:04  |
|  5 |  AA |    1 | 2019-05-06 20:55:05  | NULL                 |

我尝试使用LEAD(LogTime) Over..,但无法使用type=3指定记录

你能帮帮我吗。

这是我的SqlFiddle

EN

回答 1

Stack Overflow用户

发布于 2019-05-16 21:16:19

通过使用子查询,我们也可以实现您的预期输出

代码语言:javascript
复制
SELECT DISTINCT
     O.ID,
     O.Ref,
     O.[Type],
     O.LogTime,
    (SELECT TOP 1 I.LogTime FROM LoginLogout I
     WHERE I.Ref = O.Ref
        AND I.[Type] = 3 
        AND I.LogTime > O.LogTime) AS LogTime_Type3 
FROM LoginLogout O
WHERE O.[Type] = 1
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56158800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档