Une autre approche pourrait être :
SELECT t.*
FROM(SELECT t.*,
ROW_NUMBER() OVER (PARTITION BY id, system, type1, nid, name
ORDER BY date DESC) AS rn
FROM tabelA t
)
WHERE rn = 1
Peut-être que cela vous aidera.