私は2つのテーブルを持っています:
CREATE TABLE [dbo].[Gps] (
[Date] [datetime] NOT NULL,
[Latitude] [decimal](9, 6) NOT NULL,
[Longitude] [decimal](9, 6) NOT NULL
)
CREATE TABLE [dbo].[Stops] (
[StopName] [varchar](128) NOT NULL,
[StopLat] [decimal](9, 6) NOT NULL,
[StopLon] [decimal](9, 6) NOT NULL
)
このシグネチャで作成した Haversine() スカラー関数を使用して、各 Gps エントリの最も近いストップを取得したいと思います。
CREATE FUNCTION [dbo].[Haversine]
(
@aLatitude DECIMAL(9, 6),
@aLongitude DECIMAL(9, 6),
@bLatitude DECIMAL(9, 6),
@bLongitude DECIMAL(9, 6)
)
RETURNS DECIMAL(16, 6)
例:
SELECT dbo.Haversine(0.0, 0.0, 0.0, 0.0)
StopName と Haversine 関数の結果の両方を取得したいと思います。どうすれば効率的にそれを行うことができますか?