如果您只是想破解代码,您可以放心地忽略以下(包括)JOINs:Starting Off 部分。的背景和结果只是作为背景。如果您想查看代码最初的样子,请查看 2015-10-06 之前的编辑历史记录。
最终,我想根据表中可用 GPS 数据的日期时间戳计算发射机(X
或Xmit
)的内插 GPS 坐标,这些数据SecondTable
直接位于表中的观测值的两侧FirstTable
。
我的近期目标实现的最终目标是要弄清楚如何最好地加入FirstTable
到SecondTable
得到这些侧翼的时间点。稍后我可以使用该信息我可以计算中间 GPS 坐标,假设沿等距柱状坐标系进行线性拟合(花哨的话说我不在乎地球是这个比例的球体)。
(A<>B OR A=B)
结构。
对于问题 3,我仍然希望得到任何额外的帮助。 要点反映了我认为在个别问题上对我帮助最大的人。
第一表
Fields
RecTStamp | DateTime --can contain milliseconds via VBA code (see Ref 1)
ReceivID | LONG
XmitID | …
Run Code Online (Sandbox Code Playgroud) 我正在尝试建立一个“访问”序列,其中如果在基本相同的地方(General_Location
)检测到动物,则算作一次访问,但如果它去其他地方然后返回,则是对同一位置的额外访问。因此,如果在一个Location
序列
A1, A2, A3, A3, A3, A1, B2, D4, A2
中检测到动物,例如所有 A(n) 位置都属于General_Location
“A”,则前 6 个检测为访问 1 (@A),接下来为访问 2 (@B),接下来为访问 3 (@D),接下来是访问 4(返回 @A)。
由于LAG
并且LEAD
在 SQL Server 2008R2 中不可用(也不UNBOUNDED PRECEDING
在PARTITION
ing 子句中),我正在尝试解决此SQL 权威博客条目中所述的变通方法。
我遇到了以下内存问题(更不用说计算时间了):
WITH s AS (
SELECT
RANK() OVER (PARTITION BY det.Technology, det.XmitID ORDER BY DetectDate ASC, ReceiverID ASC) as DetID,
COALESCE(TA.AnimalID, det.Technology+'-'+cast(da.XmitID AS nvarchar), 'BSVALUE999') as AnimalID,
det.Technology, det.XmitID, DetectDate, det.location as …
Run Code Online (Sandbox Code Playgroud) performance sql-server sql-server-2008-r2 window-functions query-performance