SQLUSA

Microsoft SQL Server 2005

Best Practices

 

How to create list results using CROSS APPLY?

 

Execute the following script in Query Editor to generate a comma separated order list result for each mountain bike dealer:

USE AdventureWorks;

SELECT Dealer = st.Name,
[SalesOrders] = LEFT(o.list, LEN(o.list)-1)
FROM
Sales.Customer c JOIN Sales.Store st
ON c.CustomerID=st.CustomerID

CROSS APPLY
(
SELECT
CONVERT(VARCHAR(14), SalesOrderID) + ',' AS [text()]
FROM Sales.SalesOrderHeader s
WHERE s.CustomerID = c.CustomerID
ORDER BY SalesOrderID
FOR XML PATH('')
) o (list)
ORDER BY st.Name;

 

The World Leader in SQL Server Training
 
SQLUSA.com Home Page