برای اینکه جزییات یا ردیف های جدول دیتیل به صورت ستون در جدول هدر نمایش داده شوند از کد زیر به عنوان نمونه میتوانید استفاده کنید
CREATE PROCEDURE OrderExample
AS
CREATE TABLE #OrdersTable(
OrderNo int,
OrderDate date,
CustomerID int,
TotalItems int,
TotalAmount decimal(10,2)
)
INSERT INTO #OrdersTable VALUES(101, '2016-8-11', 354, 3, 30)
INSERT INTO #OrdersTable VALUES(102, '2016-8-12', 221, 2, 20)
INSERT INTO #OrdersTable VALUES(103, '2016-8-13', 67, 1, 20)
INSERT INTO #OrdersTable VALUES(104, '2016-8-14', 8965, 3, 40)
CREATE table #OrderedItems (
OrderNo int,
OrderItem varchar(10),
OrderQty int
)
INSERT INTO #OrderedItems VALUES(101, 'T-Shirt', 2)
INSERT INTO #OrderedItems VALUES(101, 'Bedsheet', 1)
INSERT INTO #OrderedItems VALUES(102, 'Pants', 2)
INSERT INTO #OrderedItems VALUES(103, 'Quilt', 1)
INSERT INTO #OrderedItems VALUES(104, 'T-Shirt', 2)
INSERT INTO #OrderedItems VALUES(104, 'Pants', 1)
DECLARE @itemNames varchar(max) =
(SELECT STUFF(( SELECT DISTINCT ',' + QUOTENAME(OrderItem)
FROM #OrderedItems FOR XML PATH('')), 1, 1, '') AS ColList)
DECLARE @sql varchar(max) = 'SELECT OrderNo, OrderDate, CustomerID,
TotalItems, TotalAmount,' + @itemNames + ' FROM
(SELECT o.OrderNo, o.OrderDate, o.CustomerID, o.TotalItems, o.TotalAmount,
i.OrderItem, i.OrderQty
FROM #OrdersTable o
INNER JOIN #OrderedItems i ON i.OrderNo = o.OrderNo) SubQ
PIVOT(SUM(OrderQty) FOR OrderItem IN (' + @itemNames + ')) as pvt'
exec (@sql)
DROP TABLE #OrdersTable
DROP TABLE #OrderedItems