hallo
ich hab ein problem und weiß wieder mal nicht, wie ich es in
sql ausdrúcken kann:
man stelle sich vor:
tabelle t1, folgendermaßen:
t1.f1: integer (fremdschlüssel auf andere tabelle)
t1.f2: integer (fremdschlüssel auf id von tabelle t2)
tabelle t2, folgendermaßen:
t2.id: integer
t2.wert: string;
bevor ich meine suchbedingung darlege, noch paar definition, sonst erklärt sich das schlecht:
IstGleich(t1,t2)..gibt mir eine liste von datensätzen zurück, dabei:
-ist jeder datensatz eine teilmenge von t2
-sind zwei oder mehr records in einem datensatz (Menge X) enthalten, dann heißt das, dass diejenigen einträge (Menge Y) aus t1, deren f2 auf die einträge von x verweisen, alle den gleichen wert f1 haben
Summe(L)..nimmt eine Liste L von Datensätzen entgegen und gibt mir eine Liste von Strings wieder
-der String[i] der ergebnisliste ist das ergebnis der des records r[i] der ausgansgsliste
-die Summe eines datensatzes ist die konkatenation des feldes 'wert' aller datensätze in dem datensatz sortiert nach dem feld 'id'
so, jetz brauch ich einen
sql-
query der über einen string s nach folgendem sucht:
alle werte für t1.f1, für die gilt:
Summe(IstGleich(t1,t2)) is like s
ich hab's versucht so akkurat wie möglich auszudrücken; hoffentlich versteht ihr was ich meine...
danke
martin
Um Rekursion zu verstehen, muss man zunächst Rekursion verstehen.