¿Te sirve esto?
Código SQL:
Ver originalCREATE TABLE FDW_1120042 ( ID INT, CAT INT, VALORA INT, VALORB INT, VALORC INT, FECHA datetime );
INSERT INTO FDW_1120042 VALUES (1, 3, 2, 1, 1, '2014-oct-31');
INSERT INTO FDW_1120042 VALUES (2, 4, 3, 1, 1, '2014-oct-31');
INSERT INTO FDW_1120042 VALUES (3, 5, 4, 9, 9, '2014-oct-31');
INSERT INTO FDW_1120042 VALUES (4, 6, 3, 8, 8, '2014-oct-31');
INSERT INTO FDW_1120042 VALUES (5, 8, 5, 1, 1, '2014-oct-31');
INSERT INTO FDW_1120042 VALUES (6, 9, 2, 1, 1, '2014-oct-31');
INSERT INTO FDW_1120042 VALUES (13, 3, 2, 2, 2, '2015-feb-04');
INSERT INTO FDW_1120042 VALUES (14, 4, 3, 3, 3, '2015-feb-04');
INSERT INTO FDW_1120042 VALUES (15, 5, 4, 4, 4, '2015-feb-04');
INSERT INTO FDW_1120042 VALUES (16, 6, 5, 5, 5, '2015-feb-04');
INSERT INTO FDW_1120042 VALUES (17, 8, 6, 6, 6, '2015-feb-04');
INSERT INTO FDW_1120042 VALUES (18, 9, 7, 7, 7, '2015-feb-04');
SELECT a.ID, a.CAT, a.VALORA, a.VALORB, a.VALORC, b.FECHA
FROM FDW_1120042 a
INNER JOIN ( SELECT CAT, MAX(FECHA) AS FECHA
FROM FDW_1120042
GROUP BY CAT
) b ON b.CAT = a.CAT AND b.FECHA = a.FECHA
ORDER BY a.CAT;
DROP TABLE FDW_1120042;