次のSQLを実行しようとしています。
SELECT * FROM Table2
INNER JOIN
(SELECT * FROM Table1
INNER JOIN
(SELECT MAX(DateTime) AS LastMeasurement, MeasurementId as LastMeasurementId
FROM Table1 GROUP BY MeasurementId) as lastMeasurement
ON (Table1.MeasurementId = lastMeasurement.LastMeasurementId)
AND (Table1.DateTime = lastMeasurement.LastMeasurement)) as hLastMeasurement
ON Table2.Id = hLastMeasurement.Id
ORDER BY Table2.Id ASC
これは問題なく機能しますが、結果をXML形式で取得したいので、geography列をキャストする必要があったため、最初の行を次のように変更しました。
SELECT Name, Description, CAST(Location as nvarchar(MAX)) FROM Table2
そして最後にこの行を追加しました:
FOR XML RAW ('Object'), ROOT ('Objects'), ELEMENTS
今、私はXMLを取得していますが、Table2からのデータのみを使用しています。
どんなアドバイスでも大歓迎です。