これは、一見単純な運動が他の何物にもならない場合です。構文をまっすぐにすることすらできませんでした。
Readings
表には、複数のユーザーの座標と時間の読み取り値が含まれています。現時点で必要なのは、ユーザーごとに連続した時間間隔として整理することです。
データ:
CREATE TABLE [Readings] (
user_id varchar(10),
reading_time int,
x decimal(10,2),
y decimal(10,2) );
INSERT INTO Readings VALUES
('u1', 60, 345, 400),
('u1', 100, 560,300),
('u2', 35, 1024, 250),
('u1', 90, 450, 450),
('u3', 150, 600, 100),
('u3', 100, 500, 125);
私の誤ったコード:
SELECT r.user_id, r.reading_time start_time, rm.reading_time end_time,
(CONVERT(varchar, r.x)+' ; '+CONVERT(varchar, r.y)) start_point,
(CONVERT(varchar, rm.x)+' ; '+CONVERT(varchar, rm.y)) end_point
FROM Readings r
JOIN (SELECT TOP 1 r2.user_id, r2.reading_time, r2.x, r2.y
FROM Readings r2
WHERE r2.user_id=r.user_id and
r2.reading_time < r.reading_time
ORDER BY r2.reading time desc) rm
ON r.user_id=rm.user_id
ORDER BY 1,2 desc;
私の構文エラーを指摘していただけますか?