У меня есть таблица с несколькими записями, каждая из которых содержит поле с именем "координаты". Это поле было обновлено с географической точкой.
UPDATE testing SET [coords] = geography::Point(52.029736, -113.973541, 4326)
WHERE id=2"
Что мне нужно сделать, это ... когда пользователь вошел в систему, у него есть запись, которая ему принадлежит, для этого примера сказано, что его номер записи # 1. Им нужно посетить страницу, на которой показаны все остальные записи, поле «координаты» которых находится на определенном расстоянии.
Это лучшее, что я придумал;
Во-первых, я могу найти начало, согласованное с этим утверждением;
SELECT coords FROM testing WHERE id=1
Это дает мне исходную координату в виде координаты. Лат и координаты. Длинная
Тогда я хотел бы найти поблизости, так что у меня есть это;
SELECT * FROM testing WHERE coords.STDistance() <=(20 * 1609.344)
Я не знаю, как поместить исходные координаты во второе утверждение, чтобы оно работало.
Нужна ли мне хранимая процедура, или я могу каким-то образом поместить координаты. Лат / координировать. Длинные в скобках STDistance? Или я совершенно не согласен с тем, как я ожидаю, что это сработает.
К вашему сведению, у меня очень мало опыта работы с sql сервером, я никогда не делал ничего "продвинутого", только простые select * from table where record = 1
и базовые вставки и обновления.