Thema: Delphi sql für ganz harte

Einzelnen Beitrag anzeigen

sancho1980

Registriert seit: 7. Feb 2006
429 Beiträge
 
#1

sql für ganz harte

  Alt 10. Mai 2006, 22:32
Datenbank: firebird • Zugriff über: ibx, ibexpert
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.
  Mit Zitat antworten Zitat