У вас уже есть ответы, которые не используют объединение, но для сравнения приведу альтернативу, которая использует объединение:
SELECT
T1.Product,
T1.Value AS [2006 Value],
T2.Value AS [2007 Value]
FROM Table1 T1
JOIN Table1 T2
ON T1.Product = T2.Product
AND T1.Year = 2006
AND T2.Year = 2007
Я работаю с DB2, но ответы на все типы SQL были бы полезны.
Вот решение, использующее PIVOT, которое поддерживает SQL Server:
SELECT
Product,
[2006] AS [2006 Value],
[2007] AS [2007 Value]
FROM Table1
PIVOT(MAX(Value) FOR Year IN ([2006], [2007]))
AS p;