Sounds like you may be trying to PIVOT withou an aggregate. If you give us more info on your schema, data and current query we can give a more specific answer.
Until then this link may provide some help Pivot rows to columns without aggregate.
Given the test data you have provided and the output you require get you the desired results:
DECLARE @SampleData AS TABLE(ID INT, ProductID INT, PropName VARCHAR(20), PropVal VARCHAR(20))
INSERT INTO @SampleData VALUES(1, 560, 'Color', 'green')
INSERT INTO @SampleData VALUES(2, 560, 'Family', 'Resistors')
INSERT INTO @SampleData VALUES(3, 560, 'Series', '375')
SELECT MIN(ID) Id, ProductID, MIN(Color) AS Color, MIN(Family) AS Family, MIN(Series) AS Series
FROM ( SELECT * FROM @SampleData) src
PIVOT ( MIN(PropVal) FOR PropName IN(Color,Family,Series)) pvt
GROUP BY ProductID
However, I'm not sure this is the way you want to go, you will probably need to research dynamically generated SQL. If you let us know the reason you are taking this approach we may be able to help you find an alternative solution.