Bei fixer Anz. unterschiedlicher Codes z.B. über folgende SubSelects lösbar:
SELECT Name,
(SELECT count(*) FROM Tabelle as T2
WHERE T2.Name=T1.Name AND Code=1),
(SELECT count(*) FROM Tabelle as T3
WHERE T3.Name=T1.Name AND Code=2),
(SELECT count(*) FROM Tabelle as T4
WHERE T4.Name=T1.Name AND Code=3),
(SELECT count(*) FROM Tabelle as T5
WHERE T5.Name=T1.Name AND Code=4)
FROM Tabelle as T1
GROUP BY Name;
Bei unbekanter Anz. von Codes, müßte ein Cursor geschrieben werden, der das Select-Stmt aufbaut. Dieses wiederum mit execute immediate ausgeführt werden. Dabei kommen allerdings Unterschiede der einzelnen Datenbanken/SQL-Dialekte zum tragen.