用于XML SQL查询以生成记录头

用于XML SQL查询以生成记录头,sql,sql-server,xml,tsql,subquery,Sql,Sql Server,Xml,Tsql,Subquery,我正在尝试使用XML SQL查询生成XML。XML的结构非常简单,除了需要额外的子元素外,它只需在根元素和记录元素之间的文档顶部出现一次。以下是一个例子: <Employees xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <RecordHeader> <CreatedBy>My Organization</CreatedBy> <Crea

我正在尝试使用XML SQL查询生成XML。XML的结构非常简单,除了需要额外的子元素外,它只需在根元素和记录元素之间的文档顶部出现一次。以下是一个例子:

<Employees xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <RecordHeader>
        <CreatedBy>My Organization</CreatedBy>
        <CreateDate>1900-01-01T01:01:01-06:00</CreateDate>
     </RecordHeader>
    <Employee>
        <EmployeeID>4</EmployeeID>
        <FirstName>Rob</FirstName>
        <LastName>Walters</LastName>
    </Employee>
    <Employee>
        <EmployeeID>168</EmployeeID>
        <FirstName>Rob</FirstName>
        <LastName>Caron</LastName>
     </Employee>
 </Employees>
返回

<Employees>
  <RecordHeader>
    <CreatedBy>My Organization</CreatedBy>
    <CreateDate>2016-10-18T16:09:48.110</CreateDate>
  </RecordHeader>
  <Employee>
    <EmployeeID>1</EmployeeID>
    <First_Name>John</First_Name>
    <Last_Name>Smith</Last_Name>
  </Employee>
  <Employee>
    <EmployeeID>2</EmployeeID>
    <First_Name>Jane</First_Name>
    <Last_Name>Doe</Last_Name>
  </Employee>
</Employees>

我的组织
2016-10-18T16:09:48.110
1.
约翰
史密斯
2.
简
雌鹿

工作正常!非常感谢。
Declare @Employee table (EmployeeID int,First_Name varchar(50),Last_Name varchar(50))
Insert into @Employee values
(1,'John','Smith'),
(2,'Jane','Doe'  )


Select (Select CreatedBy='My Organization',CreateDate=GetDate() For XML Path('RecordHeader'),Type ) 
      ,(Select * From @Employee For XML Path('Employee'),Type ) 
For XML Path ('Employees'),Type
<Employees>
  <RecordHeader>
    <CreatedBy>My Organization</CreatedBy>
    <CreateDate>2016-10-18T16:09:48.110</CreateDate>
  </RecordHeader>
  <Employee>
    <EmployeeID>1</EmployeeID>
    <First_Name>John</First_Name>
    <Last_Name>Smith</Last_Name>
  </Employee>
  <Employee>
    <EmployeeID>2</EmployeeID>
    <First_Name>Jane</First_Name>
    <Last_Name>Doe</Last_Name>
  </Employee>
</Employees>