All you need is called
Pivot[
^].
SELECT Site, [alarm1],[alarm2],[alarm3]
FROM (
SELECT Site, [Node], Alarms
FROM TableName
) AS DT
PIVOT(MAX(Alarms) FOR [Node] IN([alarm1],[alarm2],[alarm3])) AS PT
Result should looks like:
Site B C
A Alarms1 NULL
A Alarms2 NULL
A NULL Alarms2
Note that there is no way to pivot data the way you want.