C'est une de ces questions où j'ai de la difficulté à trouver comment le demander aussi nu avec moi.Comment renvoyer des colonnes supplémentaires avec des valeurs générées dans des procédures stockées?
J'ai une procédure stockée dans SQL 2005 qui calcule la distance en utilisant la formule de Haversine. Tout fonctionne très bien, mais je voudrais retourner la distance calculée avec mon jeu de résultats. Comment puis-je ajouter cette paire colonne/valeur?
DECLARE @Longitude DECIMAL(18,8),
@Latitude DECIMAL(18,8),
@MinLongitude DECIMAL(18,8),
@MaxLongitude DECIMAL(18,8),
@MinLatitude DECIMAL(18,8),
@MaxLatitude DECIMAL(18,8),
@WithinMiles INT
Set @Latitude = -122.25336930
Set @Longitude = 37.50002600
Set @WithinMiles = 20
-- Calculate the Max Lat/Long
SELECT @MaxLongitude = dbo.LongitudePlusDistance(@Longitude, @Latitude, @WithinMiles),
@MaxLatitude = dbo.LatitudePlusDistance(@Latitude, @WithinMiles)
-- Calculate the min lat/long
SELECT @MinLatitude = 2 * @Latitude - @MaxLatitude,
@MinLongitude = 2 * @Longitude - @MaxLongitude
SELECT Top 10 *
FROM Location
WHERE LocationLongitude Between @MinLongitude And @MaxLongitude
And LocationLatitude Between @MinLatitude And @MaxLatitude
And dbo.CalculateDistance(@Longitude, @Latitude, LocationLongitude, LocationLatitude) <= @WithinMiles
ORDER BY dbo.CalculateDistance(@Longitude, @Latitude, LocationLongitude, LocationLatitude)
--Return the result of dbo.CalculateDistance
Des pointeurs? Y compris la bonne façon de poser cette question?
(Oh, et oui, ce n'est pas la procédure stockée depuis que je joue avec la requête directement c'est ce que je collais ici.)
Brillant! C'est exactement ce que je cherchais. Y a-t-il un nom technique pour cela? – Mikecancook
Non que je ne sache pas, vous pouvez ajouter des littéraux ou des variables à votre liste de sélection tout ce que vous voulez que la chaîne 'Distance calculée' s'appelle un allias – Gratzy