Я пытаюсь выполнить следующий 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 и должен был привести столбец географии, я изменил первую строку на:
SELECT Name, Description, CAST(Location as nvarchar(MAX)) FROM Table2
и добавил эту строку в конец:
FOR XML RAW ('Object'), ROOT ('Objects'), ELEMENTS
Теперь я получаю XML, но только с данными из Таблицы 2.
Любой совет будет приветствоваться.