I never saw the reference to OrderID until the last comment.
Here you go
DECLARE @listCol VARCHAR(2000)
SELECT @listCol = STUFF((SELECT DISTINCT
'],[' + Description
FROM Items
ORDER BY '],[' + Description FOR XML PATH('')), 1, 2, '') + ']'
DECLARE @query NVARCHAR(4000)
SET @query = 'SELECT orderid,CustReference,'+@listCol+' FROM
(select orderid, CustReference, AssetType, Sum(AssetQty) as AssetQty
FROM assets group by orderid, CustReference, AssetType) X
PIVOT( SUM(AssetQTY) FOR AssetType IN ('+@listCol+')) AS p '
EXECUTE(@query)