У нас есть одна таблица маркеров погоды на карте, где каждый тип маркера - ветер или облако.
Для каждого маркера облака мы хотим найти значение поля «WindDir» для ближайшего маркера ветра.,Похоже, что самообъединение поможет, но создание запроса оказывается трудным.
Ниже приведен наш неправильный псевдо SQL.Мы знаем, что значение расстояния будет тем, что мы хотим.Нам просто нужно, чтобы запрос нашел ближайший маркер ветра для каждого маркера облака, чтобы мы могли получить значение WindDir маркера ветра.
SELECT w1.ID AS ID, w1.Lat AS Lat, w1.Lng AS Lng,
w2.WindDir AS WindDir,
MIN(SQRT(POWER(ABS(w1.Lng - w2.Lng), 2) + POWER(ABS(w1.Lat - w2.Lat), 2))*60) AS Distance
FROM Weather w1 WHERE w1.Marker="Cloud"
LEFT JOIN Weather w2 WHERE w2.Marker="Wind"
USING ID
Мы будем благодарны за любые советы по созданию работающей версии!
-Ken