SqlServer 存储过程求帮助

删库到跑路 2018-06-11 05:03:58
这是查询GPS定位,根据@YieldTransit_ID查询
但是GPS是按月分表的,可能一个坐标是1月,另外的坐标全是2月,如下图第一第二的数据,查询返回参数如下图,各位大佬可以简化参数。知道这种查询需要拼sql,但是没写过,还是需要各位大佬帮助

...全文
713 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
OwenZeng_DBA 2018-06-12
  • 打赏
  • 举报
回复
@删库到跑路 做个视图吧近几个月的表关联起来, create view view1 as select * from gps1 union all select * from gps2 然后直接查这个视图,,select *from view1 where YieldTransit_ID=1 是这个意思吗
Mr_Nice 2018-06-12
  • 打赏
  • 举报
回复
如果实在不想用关联表的话, 建立一个分区表,分区列用settime,把之前的数据都合并到一张表里。查询的事儿就好办了,一条语句,直接搞定。 不知道lz的sql server 版本号。 分区表得看版本支持。
删库到跑路 2018-06-12
  • 打赏
  • 举报
回复
引用 3 楼 sinat_28984567 的回复:
对应的结果是什么?
这就是是对应的结果 我在重新说一遍需求: 这是一张GPS定位表,但是表1个月自动生成一张当月表,现在需要@YieldTransit_ID,@SetTime查出数据(要查询YieldTransit_ID下,SetTime这个时间前的所有定位) 有时候数据可能会跨月份(如上面的最后行的数据),查询好查,但是跨月关联表就不会了
二月十六 版主 2018-06-11
  • 打赏
  • 举报
回复
对应的结果是什么?
删库到跑路 2018-06-11
  • 打赏
  • 举报
回复
悟空,数据来了,一个存储过程,参数就是@YieldTransit_ID,光查确实简单,但是有些时间是跨月的(比如下面的最后一条数据),在上面说了,我们的这个表一个月会新建一个GPS表,所以,这个查询就不会写了(上面图里有分的表)

GPSEMCar_ID   YieldTransit_ID   PositionX   PositionY  CarSpeed   CenterUpTime        SetTime     IsCarNull
     12            165665        116.716388  39.845635     0      2012/11/1 7:46   2012/11/1 7:46     1
     12            165665        116.716388  39.845635     0      2012/11/1 7:47   2012/11/1 7:47     0
     12            165665        116.716388  39.845635     0      2012/11/1 7:47   2012/11/1 7:47     1
     12            165665        116.716388  39.845635     0      2012/11/1 7:48   2012/11/1 7:48     1
     12            165665        116.716388  39.845635     0      2012/11/1 7:49   2012/11/1 7:49     0
     12            165665        116.716388  39.845635     0      2012/11/1 7:49   2012/11/1 7:49     1
     12            165665        116.716388  39.845635     0      2012/11/1 7:50   2012/11/1 7:50     1
     12            165665        116.716388  39.845635     0      2012/11/1 7:50   2012/11/1 7:51     1
     12            165665        116.716388  39.845635     0      2012/11/1 7:51   2012/11/1 7:51     1
     12            165665        116.716388  39.845635     0      2012/11/1 7:52   2012/11/1 7:52     1
     12            165665        116.716388  39.845635     0      2012/11/1 7:52   2012/11/1 7:52     1
     12            165665        116.716388  39.845635     0      2012/11/1 7:53   2012/11/1 7:53     1
     12            165665        116.716388  39.845635     0      2012/11/1 7:53   2012/11/1 7:53     1
     12            165665        116.716388  39.845635     0      2012/11/1 7:54   2012/11/1 7:54     1
     12            165665        116.716388  39.845635     0      2012/11/1 7:54   2012/11/1 7:55     1
     12            165665        116.716388  39.845635     0      2012/11/1 7:55   2012/11/1 7:55     1
     12            165665        116.716388  39.845635     0      2012/11/1 7:56   2012/11/1 7:56     1
     12            165665        116.716388  39.845635     0      2012/11/1 7:56   2012/11/1 7:56     1
     12            165665        116.716388  39.845635     0      2012/11/1 7:57   2012/11/1 7:57     1
     12            165665        116.716217  39.845705     0      2012/11/1 7:57   2012/11/1 7:57     0
     12            165665        116.716217  39.845705     0      2012/11/1 7:57   2012/11/1 7:57     1
     12            165665        116.716217  39.845705     0      2012/11/1 7:58   2012/11/1 7:58     0
     12            165665        116.716217  39.845705     0      2012/11/1 7:59   2012/11/1 7:59     0
     12            165665        116.716217  39.845705     0      2012/11/1 7:59   2012/11/1 7:59     0
     12            165665        116.716217  39.845705     0      2012/11/1 8:00   2012/11/1 8:00     0
     12            165665        116.716217  39.845705     0      2012/11/1 8:00   2012/11/1 8:00     0
     12            165665        116.716217  39.845705     0      2012/11/1 8:01   2012/11/1 8:01     0
     12            165665        116.716217  39.845705     0      2012/11/1 8:01   2012/11/1 8:02     0
     12            165665        116.716217  39.845705     0      2012/11/1 8:02   2012/11/1 8:02     0
     12            165665        116.716217  39.845705     0      2012/11/1 8:03   2012/11/1 8:03     0
     12            165665        116.716217  39.845705     0      2012/11/1 8:03   2012/11/1 8:03     0
     12            165665        116.716217  39.845705     0      2012/11/1 8:04   2012/11/1 8:04     0
     12            165665        116.716217  39.845705     0      2012/11/1 8:05   2012/11/1 8:05     1
     12            165665        116.716562  39.845388     9      2012/11/1 8:05   2012/11/1 8:05     1
     12            165665        116.716635  39.845312     0      2012/11/1 8:06   2012/11/1 8:06     1
     12            165665        116.717067   39.84498     3      2012/11/1 8:06   2012/11/1 8:06     0
     12            165665        116.717067   39.84498     3      2012/11/1 8:06   2012/11/1 8:07     0
     12            165665        116.717067   39.84498     3      2012/11/1 8:06   2012/11/1 8:08     0
     12            165665        116.717067   39.84498     3      2012/11/1 8:06   2012/11/1 8:08     0
     12            165665        116.716403  39.845568     0     2012/10/30 19:52 2012/10/30 19:54    0															
二月十六 版主 2018-06-11
  • 打赏
  • 举报
回复
建议楼主列出表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。 参考一下这个贴子的提问方式http://bbs.csdn.net/topics/320211382 1. 你的 create table xxx .. 语句 2. 你的 insert into xxx ... 语句 3. 结果是什么样,(并给以简单的算法描述) 4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL) 这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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