当前位置: 代码迷 >> Sql Server >> 依据条件筛选结果
  详细解决方案

依据条件筛选结果

热度:39   发布时间:2016-04-24 09:16:02.0
根据条件筛选结果
本帖最后由 escaflowne1985 于 2015-03-27 17:26:39 编辑
设定2个动作
1,发射导弹
2,命中目标
如果发射导弹在5分钟内命中目标 返回值为1  未命中返回值为2
将命中目标2的信息和时间筛选出来

导弹类型 动作 时间
A 发射 2015-03-26 12:49:33
A 发射 2015-03-26 12:50:18
A 命中 2015-03-26 12:51:07
B 发射 2015-03-26 14:09:49
C 发射 2015-03-26 18:21:17
C 命中 2015-03-26 18:25:16
C 发射 2015-03-26 16:10:29
C 命中 2015-03-26 16:10:30

结果为
导弹类型 动作 时间
A 命中 2015-03-26 12:51:07
C 命中 2015-03-26 18:25:16
C 命中 2015-03-26 16:10:30


------解决思路----------------------
SELECT *
FROM TB T1
WHERE T1.动作='命中' AND EXISTS(SELECT 1 FROM TB T2
WHERE T1.导弹类型=T2.导弹类型 AND T2.动作='发射'
AND T1.时间>T2.时间 AND T1.时间<=DATEADD(MINUTE,5,T2.时间))
  相关解决方案