This should do it:
SELECT
River
,Class1Flow=MIN(CASE WHEN Class=1 THEN WaterFlow END)
,Class2Flow=MIN(CASE WHEN Class=2 THEN WaterFlow END)
FROM
MyTable
GROUP BY
River
Or you can use the PIVOT operator (SQL2005 or above only):
SELECT
River
,Class1Flow=[1]
,Class2Flow=[2]
FROM
MyTable
PIVOT
(MIN(WaterFlow) FOR Class IN ([1],[2])) p
--Brad (
My Blog)