为了说明,假设我有两个表如下:
VehicleID Name
1 Chuck
2 Larry
LocationID VehicleID City
1 1 New York
2 1 Seattle
3 1 Vancouver
4 2 Los Angeles
5 2 Houston
Run Code Online (Sandbox Code Playgroud)
我想写一个查询来返回以下结果:
VehicleID Name Locations
1 Chuck New York, Seattle, Vancouver
2 Larry Los Angeles, Houston
Run Code Online (Sandbox Code Playgroud)
我知道这可以使用服务器端游标完成,即:
DECLARE @VehicleID int
DECLARE @VehicleName varchar(100)
DECLARE @LocationCity varchar(100)
DECLARE @Locations varchar(4000)
DECLARE @Results TABLE
(
VehicleID int
Name varchar(100)
Locations varchar(4000)
)
DECLARE VehiclesCursor CURSOR FOR
SELECT
[VehicleID]
, [Name]
FROM [Vehicles]
OPEN VehiclesCursor
FETCH NEXT …Run Code Online (Sandbox Code Playgroud) 我有一个包含以下架构的表:
DateTime [Creation Date] PK
int [Data]
Run Code Online (Sandbox Code Playgroud)
列数据具有来自传感器的值,如下所示:
123
225
354
578
0
2151
2331
0
2555
2678
Run Code Online (Sandbox Code Playgroud)
如您所见,值总是递增.
由于传感器中的问题,我们有时在有效值之间得到0.当我们尝试使用数据时,这会给我们带来一些问题,因此我们希望用某些东西填补这些空白.理想情况下,我们希望在上一个值和下一个值之间放置一个平均值,如果不可能,我们想重复之前的值.
这只是一个查询可行吗?
提前致谢.