鉴于下面的查询,是否可以将“元数据”元素下的元素作为“事件”元素的属性,而不更改子查询的 where 子句(即 WHERE UniqueID = t1.UniqueID AND ID = MAX(t1. ID))?
声明@Event 表 ( UniqueID VARCHAR(3), ID INT, 名称 VARCHAR(25), 纬度浮动, 经度浮动, 主键(唯一 ID,ID) ); 声明@Vehicle1 表 ( UniqueID VARCHAR(3), ID INT, 第 1 列 VARCHAR(25) ); 声明@Vehicle2 表 ( UniqueID VARCHAR(3), ID INT, 第 1 列 VARCHAR(25) ); 插入@Event 值('ABC'、1、'LPR'、1.234、2.345) 插入@Event 值('ABC'、2、'LPR'、2.234、3.345) 插入@Event 值('ABC'、3、'LPR'、3.234、4.345) 插入@Event 值('ABC'、4、'LPR'、4.234、5.345) 插入@Event 值('DEF'、1、'LPR'、1.234、2.345) 插入@Event VALUES ('GHI', 1, 'Manual Scan', 1.234, 2.345) 插入@Event VALUES ('GHI', 2, 'Manual Scan', 2.234, 3.345) 插入@Vehicle1 值('ABC',1,'Plate # 1') 插入@Vehicle1 值('ABC',1,'Plate #2') 插入@Vehicle2 值('GHI',1,'Plate # 1') 插入@Vehicle2 值('GHI', 2, 'Plate #2') 插入@Vehicle2 值('GHI',3,'Plate # 3') 选择 唯一 ID 作为唯一 ID, (选择 ID, 姓名, 纬度, 经度 来自@事件 其中 UniqueID = t1.UniqueID AND ID = MAX(t1.ID) FOR XML RAW('元数据'),元素,类型), (选择 第 1 列 来自@Vehicle1 在哪里 UniqueID = t1.UniqueID FOR XML RAW ('Row'), TYPE, ROOT ('Vehicle1')), (选择 第 1 列 来自@Vehicle2 在哪里 UniqueID = t1.UniqueID FOR XML RAW ('Row'), TYPE, ROOT ('Vehicle2')) 来自@Event t1 按 t1.UniqueID 分组 FOR XML RAW ('Event')、TYPE、ROOT ('Events')