thank you for reading. I'm currently trying to use XML AUTO with 3 tables to produce an xml document with 1 top level and 2 different tables at a sub level.
A simpler example with 2 tables:
SELECT
dbo.SalesOrder.SupplementaryReference AS SupplementaryReference,
dbo.SalesOrder.Address AS Address,
dbo.SalesOrder.Address2 AS Address2,
dbo.SalesOrder.CardCode AS CardCode,
dbo.SalesOrder.DocDate AS DocDate,
dbo.SalesOrder.DocDueDate AS DocDueDate,
dbo.SalesOrderLines.ItemCode AS ItemCode,
dbo.SalesOrderLines.Quantity AS Quantity
FROM
dbo.SalesOrderLines,
dbo.SalesOrder
WHERE
dbo.SalesOrderLines.SupplementaryReference = dbo.SalesOrder.SupplementaryReference
FOR XML AUTO, ELEMENTS, ROOT('root')
This produces an output xml document like this:
<root>
<dbo.SalesOrder>
<Address>...</Address>
<Address2>...</Address2>
.....
.....
<dbo.SalesOrderLines>
<ItemCode>...</ItemCode>
<Quantity>...</Quantity>
</dbo.SalesOrderLines>
</dbo.SalesOrder>
</root>
This is what I would expect, however I'm attempting to get an XML document as describe below from 3 tables SalesOrder, SalesOrderLines, and SalesOrderExpenses:
<root>
<dbo.SalesOrder>
<Address>...</Address>
<Address2>...</Address2>
.....
.....
<dbo.SalesOrderLines>
<ItemCode>...</ItemCode>
<Quantity>...</Quantity>
</dbo.SalesOrderLines>
<dbo.SalesOrderExpenses>
<BaseType>...</BaseType>
<ExpnsCode>...</ExpnsCode>
<LineTotal>...</LineTotal>
</dbo.SalesOrderExpenses>
</dbo.SalesOrder>
</root>
I have attempted doing the following query:
SELECT
dbo.SalesOrder.SupplementaryReference AS SupplementaryReference,
dbo.SalesOrder.Address AS Address,
dbo.SalesOrder.Address2 AS Address2,
dbo.SalesOrder.CardCode AS CardCode,
dbo.SalesOrder.DocDate AS DocDate,
dbo.SalesOrder.DocDueDate AS DocDueDate,
dbo.SelesOrderExpenses.BasteType AS BaseType,
dbo.SelesOrderExpenses.ExpnsCode AS ExpnsCode,
dbo.SelesOrderExpenses.LineTotal AS LineTotal,
dbo.SalesOrderLines.ItemCode AS ItemCode,
dbo.SalesOrderLines.Quantity AS Quantity
FROM
dbo.SalesOrderLines,
dbo.SalesOrderExpenses,
dbo.SalesOrder
WHERE
dbo.SalesOrderLines.SupplementaryReference = dbo.SalesOrder.SupplementaryReference
FOR XML AUTO, ELEMENTS, ROOT('root')
however I receive this output which nests the third table inside the second:
<root>
<dbo.SalesOrder>
<Address>...</Address>
<Address2>...</Address2>
.....
.....
<dbo.SalesOrderExpenses>
<BaseType>...</BaseType>
<ExpnsCode>...</ExpnsCode>
<LineTotal>...</LineTotal>
<dbo.SalesOrderLines>
<ItemCode>...</ItemCode>
<Quantity>...</Quantity>
</dbo.SalesOrderLines>
</dbo.SalesOrderExpenses>
</dbo.SalesOrder>
</root>
So any ideas? Thank you for your time.