próbuje spłaszczyć wiersze do kolumn

Mam grupę wierszy w tabeli, które mają identyfikator. Próbuję spłaszczyć go w wierszach z wieloma kolumnami. Jestem prawie pewien, że zrobiłem to z partycją cte i może.

Użyłem cte do usunięcia duplikatów danych i pomyślałem, że zrobiłem coś podobnego do tego, co próbuję osiągnąć tutaj. Udało mi się znaleźć praktyczne rozwiązanie (wymienione poniżej), ale nadal mam ochotę na bardziej eleganckie rozwiązanie.

CREATE TABLE #MyTable ( RowID int , field VARCHAR(10), value  VARCHAR(10))  

INSERT INTO #MyTable ( RowID, field, value ) VALUES  ( 1, 'first', 'neil' )

INSERT INTO #MyTable ( RowID, field, value ) VALUES  ( 2, 'first', 'bob'  )

INSERT INTO #MyTable ( RowID, field, value ) VALUES  ( 3, 'first', 'tom'  )

INSERT INTO #MyTable ( RowID, field, value ) VALUES  ( 1, 'last', 'young' )

INSERT INTO #MyTable ( RowID, field, value ) VALUES  ( 2, 'last', 'dylan' )

INSERT INTO #MyTable ( RowID, field, value ) VALUES  ( 3, 'last', 'petty' )

SELECT * FROM #mytable

- starając się to osiągnąć za pomocą cte / partition:

SELECT rowid, 
   [first] = (Select value FROM #mytable where field = 'first' and rowid = t.rowid), 
   [last] = (Select value FROM #mytable where field = 'last' and rowid = t.rowid)
FROM #mytable t
GROUP BY rowid

questionAnswers(1)

yourAnswerToTheQuestion