Other FORXMLRAW SQL function
1. Usage of FORXMLRAW
SQL Server Query 1
SELECT TOP 10
o.OrderID AS OrderID,
c.CustomerID AS Customer_CustomerID,
c.CompanyName AS Customer_CompanyName,
e.EmployeeID AS Employee_EmployeeID,
e.FirstName AS Employee_FirstName,
e.LastName AS Employee_LastName,
o.OrderDate AS OrderDate,
o.RequiredDate AS RequiredDate,
o.ShippedDate AS ShippedDate,
s.CompanyName AS Shipper_CompanyName,
o.Freight AS Freight
FROM
Orders o
JOIN
Customers c ON o.CustomerID = c.CustomerID
JOIN
Employees e ON o.EmployeeID = e.EmployeeID
LEFT JOIN
Shippers s ON o.ShipVia = s.ShipperID
WHERE o.OrderDate >= '19980101'
ORDER BY o.OrderID
FOR XML RAW
Create SQL query with SqlQueryBuilder 1
var (sql1, parameters1) = new SqlQueryBuilder()
.Select().Top(10)
.Column("o.OrderID", "OrderID")
.Column("c.CustomerID", "Customer_CustomerID")
.Column("c.CompanyName", "Customer_CompanyName")
.Column("e.EmployeeID", "Employee_EmployeeID")
.Column("e.FirstName", "Employee_FirstName")
.Column("e.LastName", "Employee_LastName")
.Column("o.OrderDate", "OrderDate")
.Column("o.RequiredDate", "RequiredDate")
.Column("o.ShippedDate", "ShippedDate")
.Column("s.CompanyName", "Shipper_CompanyName")
.Column("o.Freight", "Freight")
.From("Orders", "o")
.Join(new List<IJoin>()
{
new INNERJOIN().TableName(new Table("Customers","c"))
.On(new Column("o.CustomerID").Equale(new Column("c.CustomerID"))),
new INNERJOIN().TableName(new Table("Employees","e"))
.On(new Column("o.EmployeeID").Equale(new Column("e.EmployeeID"))),
new LEFTJOIN().TableName(new Table("Shippers","s"))
.On(new Column("o.ShipVia").Equale(new Column("s.ShipperID")))
})
.Where(new Where(new Column("o.OrderDate").Equale("19980101")))
.OrderBy(new OrderBy().Set(new Column("o.OrderID")))
.ForXml(new FOR_XML_RAW())
.Build();
Query build by SqlQueryBuilder 1
SELECT TOP 10 o.OrderID AS OrderID,
c.CustomerID AS Customer_CustomerID,
c.CompanyName AS Customer_CompanyName,
e.EmployeeID AS Employee_EmployeeID,
e.FirstName AS Employee_FirstName,
e.LastName AS Employee_LastName,
o.OrderDate AS OrderDate,
o.RequiredDate AS RequiredDate,
o.ShippedDate AS ShippedDate,
s.CompanyName AS Shipper_CompanyName,
o.Freight AS Freight
FROM Orders AS o
INNER JOIN
Customers AS c
ON o.CustomerID = c.CustomerID
INNER JOIN
Employees AS e
ON o.EmployeeID = e.EmployeeID
LEFT OUTER JOIN
Shippers AS s
ON o.ShipVia = s.ShipperID
WHERE o.OrderDate = @pMAIN_2507192014399320080
ORDER BY o.OrderID ASC
FOR XML RAW;
Parameters (If used)
Name |
Value |
@pMAIN_2507192014399320080 |
19980101 |
Query Results 1:
|
Col1 |
1 |
<row OrderID="10808" Customer_CustomerID="OLDWO" Customer_CompanyName="Old World Delicatessen" Employee_EmployeeID="2" Employee_FirstName="Andrew" Employee_LastName="Fuller" OrderDate="1998-01-01T00:00:00" RequiredDate="1998-01-29T00:00:00" ShippedDate="1998-01-09T00:00:00" Shipper_CompanyName="Federal Shipping" Freight="45.5300"/><row OrderID="10809" Customer_CustomerID="WELLI" Customer_CompanyName="Wellington Importadora" Employee_EmployeeID="7" Employee_FirstName="Robert" Employee_LastName="King" OrderDate="1998-01-01T00:00:00" RequiredDate="1998-01-29T00:00:00" ShippedDate="1998-01-07T00:00:00" Shipper_CompanyName="Speedy Express" Freight="4.8700"/><row OrderID="10810" Customer_CustomerID="LAUGB" Customer_CompanyName="Laughing Bacchus Wine Cellars" Employee_EmployeeID="2" Employee_FirstName="Andrew" Employee_LastName="Fuller" OrderDate="1998-01-01T00:00:00" RequiredDate="1998-01-29T00:00:00" ShippedDate="1998-01-07T00:00:00" Shipper_CompanyName="Federal Shipping" Freight="4.3300"/>
|
2. Usage of FORXMLRAW
SQL Server Query 2
SELECT TOP 10
o.OrderID AS OrderID,
c.CustomerID AS Customer_CustomerID,
c.CompanyName AS Customer_CompanyName,
e.EmployeeID AS Employee_EmployeeID,
e.FirstName AS Employee_FirstName,
e.LastName AS Employee_LastName,
o.OrderDate AS OrderDate,
o.RequiredDate AS RequiredDate,
o.ShippedDate AS ShippedDate,
s.CompanyName AS Shipper_CompanyName,
o.Freight AS Freight
FROM
Orders o
JOIN
Customers c ON o.CustomerID = c.CustomerID
JOIN
Employees e ON o.EmployeeID = e.EmployeeID
LEFT JOIN
Shippers s ON o.ShipVia = s.ShipperID
WHERE o.OrderDate >= '19980101'
ORDER BY o.OrderID
FOR XML RAW('Order')
Create SQL query with SqlQueryBuilder 2
var (sql2, parameters2) = new SqlQueryBuilder()
.Select().Top(10)
.Column("o.OrderID", "OrderID")
.Column("c.CustomerID", "Customer_CustomerID")
.Column("c.CompanyName", "Customer_CompanyName")
.Column("e.EmployeeID", "Employee_EmployeeID")
.Column("e.FirstName", "Employee_FirstName")
.Column("e.LastName", "Employee_LastName")
.Column("o.OrderDate", "OrderDate")
.Column("o.RequiredDate", "RequiredDate")
.Column("o.ShippedDate", "ShippedDate")
.Column("s.CompanyName", "Shipper_CompanyName")
.Column("o.Freight", "Freight")
.From("Orders", "o")
.Join(new List<IJoin>()
{
new INNERJOIN().TableName(new Table("Customers","c"))
.On(new Column("o.CustomerID").Equale(new Column("c.CustomerID"))),
new INNERJOIN().TableName(new Table("Employees","e"))
.On(new Column("o.EmployeeID").Equale(new Column("e.EmployeeID"))),
new Join(SQLJoin.LEFTJOIN).TableName(new Table("Shippers","s"))
.On(new Column("o.ShipVia").Equale(new Column("s.ShipperID")))
})
.Where(new Where(new Column("o.OrderDate").GreaterThanOrEqualeTo("19980101")))
.OrderBy(new OrderBy().Set(new Column("o.OrderID")))
.ForXml(new FOR_XML_RAW("Order"))
.Build();
Query build by SqlQueryBuilder 2
SELECT TOP 10 o.OrderID AS OrderID,
c.CustomerID AS Customer_CustomerID,
c.CompanyName AS Customer_CompanyName,
e.EmployeeID AS Employee_EmployeeID,
e.FirstName AS Employee_FirstName,
e.LastName AS Employee_LastName,
o.OrderDate AS OrderDate,
o.RequiredDate AS RequiredDate,
o.ShippedDate AS ShippedDate,
s.CompanyName AS Shipper_CompanyName,
o.Freight AS Freight
FROM Orders AS o
INNER JOIN
Customers AS c
ON o.CustomerID = c.CustomerID
INNER JOIN
Employees AS e
ON o.EmployeeID = e.EmployeeID
LEFT OUTER JOIN
Shippers AS s
ON o.ShipVia = s.ShipperID
WHERE o.OrderDate >= @pMAIN_2507192014400007650
ORDER BY o.OrderID ASC
FOR XML RAW ('Order');
Parameters (If used)
Name |
Value |
@pMAIN_2507192014400007650 |
19980101 |
Query Results 2:
|
Col1 |
1 |
<row OrderID="10808" Customer_CustomerID="OLDWO" Customer_CompanyName="Old World Delicatessen" Employee_EmployeeID="2" Employee_FirstName="Andrew" Employee_LastName="Fuller" OrderDate="1998-01-01T00:00:00" RequiredDate="1998-01-29T00:00:00" ShippedDate="1998-01-09T00:00:00" Shipper_CompanyName="Federal Shipping" Freight="45.5300"/><row OrderID="10809" Customer_CustomerID="WELLI" Customer_CompanyName="Wellington Importadora" Employee_EmployeeID="7" Employee_FirstName="Robert" Employee_LastName="King" OrderDate="1998-01-01T00:00:00" RequiredDate="1998-01-29T00:00:00" ShippedDate="1998-01-07T00:00:00" Shipper_CompanyName="Speedy Express" Freight="4.8700"/><row OrderID="10810" Customer_CustomerID="LAUGB" Customer_CompanyName="Laughing Bacchus Wine Cellars" Employee_EmployeeID="2" Employee_FirstName="Andrew" Employee_LastName="Fuller" OrderDate="1998-01-01T00:00:00" RequiredDate="1998-01-29T00:00:00" ShippedDate="1998-01-07T00:00:00" Shipper_CompanyName="Federal Shipping" Freight="4.3300"/>
|