0

SQL に TruckLocation テーブルがあります。

Select top 4 *
from TruckLocation
order by ReadTime desc

結果:

OID      TruckID    Lat     Lng          Speed            ReadTime
123       33      37.4060    37.1470         58           2013-11-26 00:39:00.000
334       23      40.735     35.8159         90           2013-11-26 00:33:00.000
123       33      37.4060    37.1470         58           2013-11-26 00:31:00.000
334       23      42.735     36.3159         85           2013-11-26 00:27:00.000

新しいテーブルまたはストア プロシージャを作成したい結果は次のようになります。

  Time           TruckID      TotalDistance(KM) 
  2013-11-26     23           125,1245484
  2013-11-25     23           123,1245484
  2013-11-24     23           43,1245484
  2013-11-23     23           434,1245484
  2013-11-22     23           56,1245484
  2013-11-21     23           85,1245484
  .              .             .
  .              .             .
  .              18            1215,4544
  .              .             .

やってみましたが失敗しました。

4

1 に答える 1

0

これを確認するためのテーブル構造は作成していませんが、次のようなものが役立つ場合があります。

DECLARE @g geography;
DECLARE @h geography;
SET @g = geography::STGeomFromText('POINT(40.735 35.8159)', 4326);
SET @h = geography::STGeomFromText('POINT(42.735 36.3159)', 4326);
--SELECT @g.STDistance(@h);

SELECT CONVERT(DATETIME, CAST(readtime AS VARCHAR(11)),103), truckid, @g.STDistance(@h)
FROM [trucklocation]
GROUP BY readtime

これは、SQL Server 2008 の組み込み地理サポートを使用します。

ここで STGeomFromText について読むことができますhttp://technet.microsoft.com/en-us/library/bb933834(v=sql.100).aspx そして、ここで STDistance について読むことができますhttp://technet.microsoft.com/en -us/library/bb933808(v=sql.100).aspx

于 2013-11-25T23:18:51.940 に答える