私はPostDkServicePoint
と呼ばれるテーブルを持ち、経度/緯度の場所の束を格納しています。私は今日このように呼んでいます - 指定されたポイントlat/lngパラメータに最も近い30の最も近い位置を見つけるでしょう。親子の参加SQLクエリがSQL Serverに必要です
openingHoursId int
servicePointId int
day varchar
from1 varchar
to1 varchar
例行:
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
と呼ばれている
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
は、2つのテーブルを結合したくなるように、それぞれについて上記のpostdkservicepoint SQLクエリから返された30行は、PostDkOpeningHourテーブル内のすべての一致する子ローも表示されます(ここで、servicepointidは、 2つのテーブル)。
5725 40.587990 -73.662457 MONDAY 07:00 19:00
5725 40.587121 -73.662412 TUESDAY 07:00 19:00
以上でそれを戻す方法がある: - そのような「結合」クエリで
は、緯度/経度データは、ちょうどこのような時間データを開くと行ごとに複製されます親子関係スタイルの?
ありがとうございました。cte.servicePointId メッセージレベル102、レベル15、状態1、行16 '。'に近い構文が正しくありません。 –
最初のクエリのデータ結果を投稿できますか?テスト環境を構築するだけです。 – McNets
ありがとうございました。 '、'ここで確認してください。http://rextester.com/VQH68668私はトップ(10)でシミュレートしました – McNets