У меня есть таблица с именем PostDkServicePoint
, которая хранит кучу местоположений долготы/широты. Сегодня я называю это следующим образом - где он найдет 30 самых близких мест для заданных параметров lat/lng.Родительский ребенок присоединяется к sql-запросу, требуемому для SQL Server
SELECT TOP (30)
PostDkServicePoint.location.Lat AS latitude,
PostDkServicePoint.location.Long AS longitude,
PostDkServicePoint.servicePointId
FROM
PostDkServicePoint
WHERE
(PostDkServicePoint.location.STDistance('POINT(40.587990 -73.662457)') IS NOT NULL)
ORDER BY
PostDkServicePoint.location.STDistance('POINT(40.587990 -73.662457)')
Теперь я другая таблица называется PostDkOpeningHour
:
openingHoursId int
servicePointId int
day varchar
from1 varchar
to1 varchar
Пример строк:
1233 5725 MONDAY 07:00 19:00
1234 5725 TUESDAY 07:00 19:00
1235 5725 WEDNESDAY 07:00 19:00
1236 5725 THURSDAY 07:00 19:00
Он содержит 24000 строк в total.I хотите объединить эти две таблицы так, что для каждого из 30 строк, возвращенные из вышеупомянутого SQL-запроса postdkservicepoint, также будут отображать все соответствующие дочерние строки в таблице PostDkOpeningHour (где servicepointid - это соответствующий ключ между два стола).
С таким «присоединиться» запрос - будут данные широты/долготы, а затем просто дублироваться для каждой строки с открытием час данные, как это:
5725 40.587990 -73.662457 MONDAY 07:00 19:00
5725 40.587121 -73.662412 TUESDAY 07:00 19:00
или есть способ, чтобы вернуть его в более стиля родительских отношений с детьми?
Хорошо спасибо. Я получаю сообщение об ошибке в этой строке при запуске кода: cte.servicePointId Msg 102, Level 15, State 1, Line 16 Неверный синтаксис рядом с.. –
Можете ли вы опубликовать некоторые данные из первого запроса? Просто создать тестовую среду. – McNets
Хорошо, там было недостающее ',' Пожалуйста, проверьте его здесь, http://rextester.com/VQH68668 Я смоделировал с вершиной (10) – McNets