Hi Sven,
ist die Anzahl der Summanden irgendwie einschränkbar oder kann eine gewünschte Summe aus beliebig vielen Zeilen gebildet werden?
In letzterem Fall kommst Du meiner Meinung nach um ein Programm nicht herum, wenn es immer nur ein oder zwei Summanden sein können, dann geht der hier:
SELECT TO\_CHAR(x.ID)
FROM myTab x
WHERE x.a = 2 UNION
SELECT TO\_CHAR(y.ID) ||','|| TO\_CHAR(z.ID)
FROM myTab y, myTab z
WHERE (y.a + z.a) = 2;
Das kannst Du natürlich beliebig erweitern, aber vorsicht: Du bildest hier im zweiten Select ein kartesisches Produkt, das hat bei nur 100 Sätzen in der Tabelle schon 10.000 Sätze für die Zweierkombination, für die Dreierkombination sinds im Produkt 1.000.000 - ich schätze Du wirst bei nennenswert großen Tabellen recht schnell die Limits der DB erreichen (Du hast übrigens vergessen zu erwähnen, welche Du verwendest).
Wie schon angemerkt wurde: Für solche Aufgaben sind Datenbanken nicht konzipiert, ein hübsches (und eigentlich recht einfaches) C - Programm ist da sicher die bessere Wahl.
Gruß
Martin