开发者社区> 问答> 正文

SQL Server:将多个表中的数据复制到一个表中

是否可以将多个表中的数据实时复制?

例如,我有3个表:

表:DriverLocation 列:DriverId,纬度,经度,GpsLastUpdate,速度,...

表:驱动程序 列:DriverId,FirstName,LastName,Address,IsActive,...

表:作业 列:JobId,DriverId,JobName,提取,传递,...

我想在这3个表之间创建一个联接查询,并将该数据实时发布到名为的表中RealTimeDriverInfo。

示例(伪代码):

Driver(FirstName, LastName) 
JOIN DriverLocatoin(Latitude, Longitude) 
JOIN Job(JobName)
PUT RESULT IN REAL TIME INTO => RealTimeDriverInfo table

那可能吗?

展开
收起
心有灵_夕 2019-12-07 21:42:56 727 0
1 条回答
写回答
取消 提交回答
  • 我假设这JobId是一个整数,每项工作都会增加1。我CROSS APPLY过去常拿最新的位置和工作。您还必须具有一些逻辑来确定驱动程序是否处于活动状态。

    select      a.FirstName     FirstName
                ,a.LastName     LastName
                ,b.Latitude     Latitude
                ,b.Longitude    Longitude
                ,c.JobName      JobName
    from        Driver          a
    cross apply (
                    select      top 1
                                *
                    from        DriverLocation  b
                    where       b.DriverId = a.DriverId
                    order by    b.GpsLastUpdate desc
                )               b
    cross apply (
                    select      top 1
                                c.*
                    from        Job c
                    where       c.DriverId = a.DriverId
                    order by    c.JobId desc
                )               c
    
    2019-12-07 21:43:30
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载