2013-11-25 2 views
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 
    .    .    . 

내가 시도하지만 실패했습니다.

답변

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 서버 2008의 붙박이 georgraphy 지원을 사용합니다.

현재 STGeomFromText에 대해 http://technet.microsoft.com/en-us/library/bb933834(v=sql.100).aspx 를 읽을 수 있습니다 그리고 당신은 http://technet.microsoft.com/en-us/library/bb933808(v=sql.100).aspx

여기 STDistance에 대해 읽을 수 있습니다