nu m-am exprimat foarte clar (in exemplul dat am pus doar un set de inregistrari). in T1 am seturi de inregistrari care au primele 3 coloane la fel in cadrul setului (dar difera de la iun set la altul) iar C4 pleaca de la "a" pt fiecare set in parte iar id-urile sunt amestecate (deci intre inregistrari din cadrul unui set exisa inregisrtatri din multe alte seturi). Adica tabelul arata cam asa:
id C1 C2 C3 C4
--------------------------
23 o x a
25 / & ^
40 / & ^
44 < > a
47 o x g
48 / & c
49 o x g c
88 < > ?
deci aici am pus 3 seturi care se intrepatrund si au numar diferit de recorduri
/ & c - 3 records,
o x g c - 3 records
< > ? - 2 records
asa ca banuiesc ca o solutie ar presupune in primul rand un group by dupa primele 3 coloane, un tabel care sa contina literele de la a la z.. si cateva legaturi mai complexe.. (zic eu..) 
deocamdata am facut cursorul si o sa lucrez cu el (pt ca momentan viteza de rezolvare e mai importanta decat calitatea solutiei) dar m-ar interesa foarte mult daca se poate face folosind procesarea paralela.. totusi suntem in sql