以下のクエリを考えると、サブクエリのwhere句を変更せずに、「Metadata」要素の下にある要素を「Event」要素の属性として持つことができますか(つまり、WHERE UniqueID = t1.UniqueID AND ID = MAX(t1。 ID))?
@EventTABLEを宣言します (( UniqueID VARCHAR(3)、 ID INT、 名前VARCHAR(25)、 Latitude FLOAT、 経度FLOAT、 主キー(UniqueID、ID) ); @Vehicle1テーブルを宣言する (( UniqueID VARCHAR(3)、 ID INT、 Column1 VARCHAR(25) ); @Vehicle2テーブルを宣言する (( UniqueID VARCHAR(3)、 ID INT、 Column1 VARCHAR(25) ); INSERT INTO @Event VALUES('ABC'、1、'LPR'、1.234、2.345) INSERT INTO @Event VALUES('ABC'、2、'LPR'、2.234、3.345) INSERT INTO @Event VALUES('ABC'、3、'LPR'、3.234、4.345) INSERT INTO @Event VALUES('ABC'、4、'LPR'、4.234、5.345) INSERT INTO @Event VALUES('DEF'、1、'LPR'、1.234、2.345) INSERT INTO @Event VALUES('GHI'、1、'手動スキャン'、1.234、2.345) INSERT INTO @Event VALUES('GHI'、2、'手動スキャン'、2.234、3.345) INSERT INTO @ Vehicle1 VALUES('ABC'、1、'Plate#1') INSERT INTO @ Vehicle1 VALUES('ABC'、1、'Plate#2') INSERT INTO @ Vehicle2 VALUES('GHI'、1、'Plate#1') INSERT INTO @ Vehicle2 VALUES('GHI'、2、'Plate#2') INSERT INTO @ Vehicle2 VALUES('GHI'、3、'Plate#3') 選択する UniqueID AS UniqueID、 (選択する ID、 名前、 緯度、 経度 FROM @Event WHERE UniqueID = t1.UniqueID AND ID = MAX(t1.ID) XML RAW('メタデータ')、ELEMENTS、TYPE)の場合、 (選択する 列1 @Vehicle1から WHERE UniqueID = t1.UniqueID XML RAW('Row')、TYPE、ROOT('Vehicle1'))の場合、 (選択する 列1 FROM @ Vehicle2 WHERE UniqueID = t1.UniqueID XML RAW('Row')、TYPE、ROOT('Vehicle2')の場合) FROM @Event t1 GROUP BY t1.UniqueID XML RAW('イベント')、TYPE、ROOT('イベント')の場合