将开始列和结束列合并为一列

2024-05-01

我已经上下搜索了好几个星期,试图找到解决我的问题的方法。

我的问题如下:

A 有一个表格,其中包含来自车辆遥测提供商的开始和结束坐标以及日期。

我需要将它们合并到一列中,以便我们的报告解决方案能够绘制它们。

一些示例数据如下:

DECLARE @TblVar AS TABLE([ServiceID] INT
                    ,[StartDate] DATETIME
                    ,[StartLocation] VARCHAR(255)
                    ,[StartLat] FLOAT
                    ,[StartLong] FLOAT
                    ,[EndDate] DATETIME
                    ,[EndLocation] VARCHAR(255)
                    ,[EndLat] FLOAT
                    ,[EndLong] FLOAT);
INSERT INTO @TblVar

VALUES (48322, '2016-11-28 05:38:37.000','Weaver Road,Leicester',52.5753273,-1.306842,'2016-11-28 05:40:02.000','Earl Street,Leicester',52.5781,-1.3048711)
      ,(48322, '2016-11-28 05:44:05.000','Earl Street,Leicester',52.5780996,-1.3048768,'2016-11-28 05:53:52.000','Arbor Road,Leicester',52.5533448,-1.2349645)
      ,(48322, '2016-11-28 09:14:25.000','Arbor Road,Leicester',52.5533833,-1.2349445,'2016-11-28 09:15:54.000','Coventry Road,Leicester',52.5522865,-1.2370495)  
      ,(48322, '2016-11-28 09:16:05.000','Coventry Road,Leicester',52.552292,-1.2370598,'2016-11-28 09:20:41.000','Arbor Road,Leicester',52.553338,-1.2352033)    
      ,(48322, '2016-11-28 13:34:36.000','Arbor Road,Leicester',52.553388,-1.2352651,'2016-11-28 13:53:29.000','Narborough Road South,Leicester',52.597422,-1.1832976)      
      ,(48322, '2016-11-28 13:55:36.000','Narborough Road South,Leicester',52.597352,-1.183299,'2016-11-28 13:58:51.000','Hazel Drive,Leicester',52.6020946,-1.1760238)
      ,(48322, '2016-11-28 14:11:53.000','Hazel Drive,Leicester',52.6020853,-1.1760053,'2016-11-28 14:24:40.000','Arbor Road,Leicester',52.5533118,-1.2352118)
      ,(48322, '2016-11-28 14:29:48.000','Arbor Road,Leicester',52.5532741,-1.2352471,'2016-11-28 14:30:39.000','Coventry Road,Leicester',52.552955,-1.2363475)
      ,(48322, '2016-11-28 14:32:24.000','Coventry Road,Leicester',52.552944,-1.2363491,'2016-11-28 14:34:06.000','Coventry Road,Leicester',52.5532598,-1.2350731) 
      ,(48322, '2016-11-28 14:50:12.000','Coventry Road,Leicester',52.5532646,-1.2351661,'2016-11-28 14:50:13.000','Coventry Road,Leicester',52.5532646,-1.2351661)  
      ,(48322, '2016-11-28 16:02:29.000','Coventry Road,Leicester',52.553156,-1.2348643,'2016-11-28 16:13:09.000','Earl Street,Leicester',52.5780946,-1.30486)
      ,(48322, '2016-11-28 16:22:07.000','Earl Street,Leicester',52.5780776,-1.304851,'2016-11-28 16:23:26.000','Weaver Road,Leicester',52.5753643,-1.306814)

看起来像这样:

+-----------+---------------------+---------------------------------+------------+------------+---------------------+---------------------------------+------------+------------+
| ServiceID |      StartDate      |          StartLocation          |  StartLat  | StartLong  |       EndDate       |           EndLocation           |   EndLat   |  EndLong   |
+-----------+---------------------+---------------------------------+------------+------------+---------------------+---------------------------------+------------+------------+
|     48322 | 28/11/2016 05:38:37 | Weaver Road,Leicester           | 52.5753273 |  -1.306842 | 28/11/2016 05:40:02 | Earl Street,Leicester           |    52.5781 | -1.3048711 |
|     48322 | 28/11/2016 05:44:05 | Earl Street,Leicester           | 52.5780996 | -1.3048768 | 28/11/2016 05:53:52 | Arbor Road,Leicester            | 52.5533448 | -1.2349645 |
|     48322 | 28/11/2016 09:14:25 | Arbor Road,Leicester            | 52.5533833 | -1.2349445 | 28/11/2016 09:15:54 | Coventry Road,Leicester         | 52.5522865 | -1.2370495 |
|     48322 | 28/11/2016 09:16:05 | Coventry Road,Leicester         |  52.552292 | -1.2370598 | 28/11/2016 09:20:41 | Arbor Road,Leicester            |  52.553338 | -1.2352033 |
|     48322 | 28/11/2016 13:34:36 | Arbor Road,Leicester            |  52.553388 | -1.2352651 | 28/11/2016 13:53:29 | Narborough Road South,Leicester |  52.597422 | -1.1832976 |
|     48322 | 28/11/2016 13:55:36 | Narborough Road South,Leicester |  52.597352 |  -1.183299 | 28/11/2016 13:58:51 | Hazel Drive,Leicester           | 52.6020946 | -1.1760238 |
|     48322 | 28/11/2016 14:11:53 | Hazel Drive,Leicester           | 52.6020853 | -1.1760053 | 28/11/2016 14:24:40 | Arbor Road,Leicester            | 52.5533118 | -1.2352118 |
|     48322 | 28/11/2016 14:29:48 | Arbor Road,Leicester            | 52.5532741 | -1.2352471 | 28/11/2016 14:30:39 | Coventry Road,Leicester         |  52.552955 | -1.2363475 |
|     48322 | 28/11/2016 14:32:24 | Coventry Road,Leicester         |  52.552944 | -1.2363491 | 28/11/2016 14:34:06 | Coventry Road,Leicester         | 52.5532598 | -1.2350731 |
|     48322 | 28/11/2016 14:50:12 | Coventry Road,Leicester         | 52.5532646 | -1.2351661 | 28/11/2016 14:50:13 | Coventry Road,Leicester         | 52.5532646 | -1.2351661 |
|     48322 | 28/11/2016 16:02:29 | Coventry Road,Leicester         |  52.553156 | -1.2348643 | 28/11/2016 16:13:09 | Earl Street,Leicester           | 52.5780946 |   -1.30486 |
|     48322 | 28/11/2016 16:22:07 | Earl Street,Leicester           | 52.5780776 |  -1.304851 | 28/11/2016 16:23:26 | Weaver Road,Leicester           | 52.5753643 |  -1.306814 |
+-----------+---------------------+---------------------------------+------------+------------+---------------------+---------------------------------+------------+------------+

我想要的输出如下:

+-----------+-----------+---------------------+---------------------------------+------------+------------+
| ServiceID | PathOrder |        Date         |            Location             | Lattitude  | Longitude  |
+-----------+-----------+---------------------+---------------------------------+------------+------------+
|     48322 |         1 | 28/11/2016 05:38:37 | Weaver Road,Leicester           | 52.5753273 |  -1.306842 |
|     48322 |         2 | 28/11/2016 05:40:02 | Earl Street,Leicester           |    52.5781 | -1.3048711 |
|     48322 |         3 | 28/11/2016 05:44:05 | Earl Street,Leicester           | 52.5780996 | -1.3048768 |
|     48322 |         4 | 28/11/2016 05:53:52 | Arbor Road,Leicester            | 52.5533448 | -1.2349645 |
|     48322 |         5 | 28/11/2016 09:14:25 | Arbor Road,Leicester            | 52.5533833 | -1.2349445 |
|     48322 |         6 | 28/11/2016 09:15:54 | Coventry Road,Leicester         | 52.5522865 | -1.2370495 |
|     48322 |         7 | 28/11/2016 09:16:05 | Coventry Road,Leicester         |  52.552292 | -1.2370598 |
|     48322 |         8 | 28/11/2016 09:20:41 | Arbor Road,Leicester            |  52.553338 | -1.2352033 |
|     48322 |         9 | 28/11/2016 13:34:36 | Arbor Road,Leicester            |  52.553388 | -1.2352651 |
|     48322 |        10 | 28/11/2016 13:53:29 | Narborough Road South,Leicester |  52.597422 | -1.1832976 |
|     48322 |        11 | 28/11/2016 13:55:36 | Narborough Road South,Leicester |  52.597352 |  -1.183299 |
|     48322 |        12 | 28/11/2016 13:58:51 | Hazel Drive,Leicester           | 52.6020946 | -1.1760238 |
|     48322 |        13 | 28/11/2016 14:11:53 | Hazel Drive,Leicester           | 52.6020853 | -1.1760053 |
|     48322 |        14 | 28/11/2016 14:24:40 | Arbor Road,Leicester            | 52.5533118 | -1.2352118 |
|     48322 |        15 | 28/11/2016 14:29:48 | Arbor Road,Leicester            | 52.5532741 | -1.2352471 |
|     48322 |        16 | 28/11/2016 14:30:39 | Coventry Road,Leicester         |  52.552955 | -1.2363475 |
|     48322 |        17 | 28/11/2016 14:32:24 | Coventry Road,Leicester         |  52.552944 | -1.2363491 |
|     48322 |        18 | 28/11/2016 14:34:06 | Coventry Road,Leicester         | 52.5532598 | -1.2350731 |
|     48322 |        19 | 28/11/2016 14:50:12 | Coventry Road,Leicester         | 52.5532646 | -1.2351661 |
|     48322 |        20 | 28/11/2016 14:50:13 | Coventry Road,Leicester         | 52.5532646 | -1.2351661 |
|     48322 |        21 | 28/11/2016 16:02:29 | Coventry Road,Leicester         |  52.553156 | -1.2348643 |
|     48322 |        22 | 28/11/2016 16:13:09 | Earl Street,Leicester           | 52.5780946 |   -1.30486 |
|     48322 |        23 | 28/11/2016 16:22:07 | Earl Street,Leicester           | 52.5780776 |  -1.304851 |
|     48322 |        24 | 28/11/2016 16:23:26 | Weaver Road,Leicester           | 52.5753643 |  -1.306814 |
+-----------+-----------+---------------------+---------------------------------+------------+------------+

任何想法/代码都会受到热烈欢迎。

Thanks,

Dan


通过使用下面的内容,您可以获得所需的结果。您可以使用交叉应用与值子句。

     SELECT A.SERVICEID,
       ROW_NUMBER() OVER(PARTITION BY A.SERVICEID ORDER BY A.SERVICEID) AS  PATHORDER,
       B.*
FROM   @TBLVAR A
       CROSS APPLY(
       VALUES
              ([STARTDATE],[STARTLOCATION],[STARTLAT],[STARTLONG]),
              ([ENDDATE],[ENDLOCATION],[ENDLAT],[ENDLONG])
              )B(DATE, LOCATION, LATTITUDE, LONGITUD) 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将开始列和结束列合并为一列 的相关文章

  • 插入后用触发器更新多行(sql server)

    我有一个表 orderDetails 包含订单的产品 产品编号 color size quantity 和一个表库存 产品编号 size color stock 订单完成后 我使用此查询将项目插入表中orderDetails INSERT
  • Sql Server:如何在 WHERE 子句中使用 MAX 等聚合函数

    我想获得该记录的最大值 请帮我 SELECT rest field1 FROM mastertable AS m INNER JOIN SELECT t1 field1 field1 t2 field2 FROM table1 AS T1
  • SQL Server freetexttable 部分单词

    我第一次使用 SQL 自由文本搜索 我有点困惑为什么它会这样 我有一个联系人表 用户可以搜索并且我正在使用 SELECT Contacts Rank FROM FREETEXTTABLE Contacts O Roarty AS Conta
  • 设置 xact_abort 并尝试一起捕获

    我的 sp 中有一个 try catch 块 其中只有一条插入语句 catch 检查错误代码是否违反 pk 如果是则进行更新 但有时我得到 当前事务无法提交 并且无法支持写入日志文件的操作 回滚事务 在批处理结束时检测到不可提交的事务 事务
  • 从表中删除孤儿

    我正在尝试清理一张有很多孤立项目的桌子 我通过查找空值来检查是否与另一个表存在关系来解决此问题 DELETE FROM table1 LEFT JOIN table2 ON table1 ID table2 ID WHERE table2
  • 使用 Switch 的报告服务表达式

    我无法让这个表达式与报告服务一起使用 我必须使用 IF 和 ELSE IF 语句 感谢您的任何建议 Switch IsNothing Fields field date Value Fields set flag Value 1 Decli
  • 如何在 SQL Server 中的特定字符后分割字符串并将该值更新到特定列

    我有包含数据的表格1 1 to 1 20在一列中 我想要值 1 到 20 即 前斜杠 之后的值更新到 SQL Server 中同一表中的其他列 Example 专栏有价值1 1 1 2 1 3 1 20新列值1 2 3 20 也就是说 我要
  • PDO SQLSRV 和 PDO MySQL 在获取 int 或 float 时返回字符串

    当您获取时 PDO MS SQL Server 和 PDO MySQL 都会返回一个字符串数组 即使列的 SQL 类型本应是数字类型 例如 int 或 float 我设法解决了这个问题 但我想了解为什么它们一开始就这样设计 是不是因为PDO
  • 获取家庭成员

    假设以下家庭 其构建架构是 create table PersonConn child int parent int insert into PersonConn values 1 2 insert into PersonConn valu
  • SQL Server,插入 Excel“链接服务器”时出现“无效列名”错误

    我有一个简单的 Excel 电子表格文档 运行 Office 2013 我使用 Microsoft Office 15 0 Access 数据库引擎 OLE DB 提供程序 将其用作数据库 我可以使用 MS SQL Server Manag
  • 拆分列中的字符串并在列中添加值

    我有一个包含几行数据的表 如下所示 16 W 2 Work ALBO 00 Proposal ALxO Amendement 1 20091022 signed pdf 17 W 2 Work ALBO 00 Proposal Level1
  • SQL 删除表并重新创建并保留数据

    在我们最初的设计中 我们搞砸了表中的外键约束 现在表已充满数据 我们无法在不删除表中所有记录的情况下更改它 我能想到的唯一解决方案是创建一个备份表并将所有记录放在那里 然后删除所有记录 更改表并开始将它们添加回来 还有其他 更好 的想法吗
  • 存储过程和权限 - EXECUTE 就足够了吗?

    我有一个 SQL Server 2008 数据库 其中对基础表的所有访问都是通过存储过程完成的 一些存储过程只是从表中选择记录 而其他存储过程则进行 UPDATE INSERT 和 DELETE 如果存储过程更新表 执行存储过程的用户是否也
  • 列中差异的数量

    我想检索一列每行中有多少个字母的差异 例如 如果您有一个值 test 而另一行有一个值 testing 则 test 和 testing 之间的差异为 4 个字母 该列的数据值为 4 I have reflected about it an
  • 在 Sql Server 中转换为日期时间 MM/dd/yyyy HH:mm:ss

    如何将给定的日期格式转换为MM dd yyyy HH mm ss 我尝试了下面这个但没有实现 谁能帮我 SELECT CONVERT VARCHAR 20 GETDATE 120 SQL Server 2005及以上版本支持 SELECT
  • Amazon RDS for SQL Server 是否支持 SSIS?

    从谷歌搜索中读到一些相互矛盾的答案 不确定答案是是 否还是可能 我觉得读的时候已经很清楚了this http docs aws amazon com AmazonRDS latest UserGuide CHAP SQLServer htm
  • 探查器模板可以迁移到较新版本的 SQL Profiler 吗?

    是否可以将 Profiler 模板迁移到较新版本的 SQL Server 就我而言 我想将 SQL 2008 模板带到 2012 年 我尝试过 1 直接文件复制和 2 导出 导入 在这两种情况下 旧模板都会运行 但无法修改 修改后会出现以下
  • 选择具有 SQL Server XML 列类型的特定行

    我正在尝试从类似于以下定义的表中选择数据 Column Data Type Id Int DataType Int LoggedData XML 但我只想选择具有特定 DataType 值并且在 LoggedData 列中包含字符串 或评估
  • 将表数据从一个 SQL Server 导出到另一台 SQL Server

    我有两个 SQL Server 都是 2005 版本 我想将多个表从一个表迁移到另一个表 我努力了 在源服务器上 我右键单击数据库 选择Tasks Generate scripts 问题是在下面Table View options没有Scr
  • 如何获得顶部带有千位分隔符的数字?

    SELECT count FROM table A 假设结果是8689 我怎样才能将它转换为8 689在 SQL Server 上 尝试这样 select replace convert varchar convert Money coun

随机推荐

  • 如何在Windows窗体代码后面编写方法的单元测试

    我有想要测试的方法 但收到此错误 在创建窗口句柄之前无法在控件上调用 Invoke 或 BeginInvoke 现在我还有一个列表框 正在我正在测试的函数中填充 因此 当我将方法分离到另一个类时 这是一个问题 我理解这一点 因为表单需要首先
  • 如何找到某个命令的目录?

    我知道 当您使用 shell 时 唯一可以使用的命令是可以在 PATH 上设置的某些目录中找到的命令 即使我不知道如何查看 PATH 变量上的目录 这是另一个可以回答的好问题 我想知道的是 我来到 shell 并写道 lshw 我想知道 s
  • 形状为 (N,1) 的数组与形状为 (N) 的数组有什么区别?以及两者之间如何转换?

    来自 MATLAB 背景的 Python 新手 我有一个 1 列数组 我想将该列移到 3 列数组的第一列中 如果我有 MATLAB 背景 我会这样做 import numpy as np A np zeros 150 3 three col
  • 重新创建 svn 存储库

    在一次重大服务器故障之后 svn 存储库被破坏 我的工作版本是最新版本 从我的工作版本重新创建 svn 存储库的方法是什么 在新服务器上安装 svn 并尝试我的工作副本之后 svn switch NEW SVN PATH 我收到一个错误 R
  • 在 Idle shell 中导入模块

    我正在尝试学习 python 但在导入模块时遇到问题 我有一个 pyc 文件 我正在尝试将其导入到名为 dfa pyc 的空闲 shell 中 我将该文件放在名为 xyz 的文件夹中 我使用以下命令导航到该文件夹 os chdir User
  • uWSGI 说:“ImportError:没有名为 wsgi 的模块”

    当uWSGI启动时 它会写入 ImportError No module named wsgi 我的 uwsgi xml
  • 数据网格中的主键始终为零

    我们正在VS2012中使用实体框架 DB First 开发WPF应用程序 我们在数据网格视图中遇到问题 我们从数据源中拖动了一个数据网格 这创建了一个绑定到该特定表的数据网格 该表有两列 一列是 TransporterID 它是 PK 是自
  • 在SSL模式下使用apache kafka

    我正在尝试在 SSL 1 way 模式下设置 kafka 我已经阅读了官方文档并成功生成了证书 我将记下两种不同情况的行为 此设置只有一名经纪人和一名动物园管理员 案例 1 经纪人间通信 明文 我的相关条目server properties
  • 将自定义值存储在 EKEvent(iPhone 日历)中

    我的应用程序与设备日历集成 当新项目添加到我的应用程序时 我们会为此项目创建一个日历条目 如果项目被编辑 我们需要更新日历项目 我现在所做的是将 GUID 放入 EKEvent Notes 中 但显然这对用户是可见的 因此我们添加文本 请勿
  • 使用 Selenium 的 Chrome 驱动程序错误:无法发现打开的页面

    运行 Selenium 测试时 我收到与 Chrome 驱动程序相关的错误 错误消息是 无法发现打开的页面 直到昨晚 Selenium 测试都运行良好 问题似乎是在前一天重新启动服务器后开始的 我无法在本地机器上重现此错误 从服务器上的命令
  • Mercurial hook 的操作类似于“changegroup”,但仅在推送时?

    我们已经构建了一个变更集传播机制 但它依赖于捆绑和解除捆绑新变更集 如果我们要使用changegroup钩子 那么它会导致循环行为 因为钩子是运行的在拉 推或解绑期间 http mercurial selenic com wiki Hook
  • 德尔福:idHttp+SSL

    请解释一下如何使用 SSL https 从服务器下载文件 我在互联网上没有找到合适的答案 每个人都说 TIdSSLIOHandlerSocket 但我只有 TIdSSLIOHandlerSocketOpenSSL 如果我使用 TIdSSLI
  • html或css中的倾斜对角线?

    I want to make a Table like this 是否可以添加一个倾斜的对角边框在表中 基于CSS3 线性渐变 http dev w3 org csswg css images 3 linear gradients解决方案
  • 秘密名称不支持特殊字符

    我有一个要求 需要将我的秘密名称存储为 fname lname 但是当我尝试使用下划线时 出现以下错误 为了暂时绕过该错误 我编写了一个实用程序来将下划线转换为连字符 反之亦然 有什么原因不支持下划线等基本特殊字符吗 az keyvault
  • 如何包含来自其他域的一个 php 文件

    我在同一台服务器上有两个域 www domain com www domain com 我有一个index1 php在拳头服务器中 现在我需要包含该文件index2 php驻留在域2中 如何使用 php 代码 包括 要求 不可能在另一台服务
  • 无论如何,为什么要处置一个肯定很快就会被处置的物体呢?

    假设我有一个程序 例如单击按钮 我创建了一个 Graphics 对象 显然我应该处理掉它 例如 using Graphics gr this CreateGraphics 或通过调用 Dispose in the finallytry ca
  • 资源 ID #4 PHP MYSQL

    result mysql query SELECT indvsum sum1 indvsum sum2 FROM SELECT SUM Cash AS sum1 SUM Bank AS sum2 FROM players indvsum e
  • PhysicsFS 是否独立于平台?

    我正在考虑在我的游戏引擎项目中使用PhysicsFS 但我想首先确保它完全独立于平台 这是因为我想在完成 Windows 代码后将我的引擎移植到一些相当不起眼的平台 例如 Wii Homebrew 根据开发者提供的官方规格他们的网站 htt
  • 无法使用php连接到mongodb数据库用户

    我有一个正在运行的 mongodauth true在我的服务器上 如果我登录到我的管理员用户 从管理数据库 则获取数据没有问题 但如果我将第一行替换为 connection new Mongo mongodb mydbadmin email
  • 将开始列和结束列合并为一列

    我已经上下搜索了好几个星期 试图找到解决我的问题的方法 我的问题如下 A 有一个表格 其中包含来自车辆遥测提供商的开始和结束坐标以及日期 我需要将它们合并到一列中 以便我们的报告解决方案能够绘制它们 一些示例数据如下 DECLARE Tbl