Hallo Miteinander
Ich habe hier eine Knacknuss mit der ich einfach nicht weiter komme, ich hoffe jemand kann mir weiter helfen:
Ich habe folgende Tabellen: Leitungen,Pfade,Kabel,Pfadkabel
Ich möchte alle Leitungen selektieren die jeweils einen Pfad (und ergo die dazugehörigen Kabel) benutzen der länger als 1300m ist. Mit meiner Selektion kriege ich leider auch diejenigen Leitungen die sich auf einem kürzeren Pfad befinden der eines oder mehrere Kabel des längeren Pfades benutzt. Ich will aber nur diejenigen Leitungen die sich GENAU auf diesem einen Pfad befinden der länger als 1300m ist, also nur die Leitungen die alle Kabel des gewünschten Pfades (<1300m) benutzen und KEINES mehr oder weniger.
Man müsste also ausdrücken können:
Selektiere alle Leitungen bei denen es kein Kabel im Pfad gibt das nicht in der Leitung vorhanden ist.
select distinct Leitung.id,Pfad.realdistanz,Pfad.id
from leitungen,pfade,kabel, pfadkabel
where pfad.realdistanz>1300
and pfad.id=Pfadkabel.Pfad_id
and Pfadkabel.kabel_id=kabel.id
and kabel.id=leitung.kbl_id;
Weil das (zumindest für mich) doch schon ganz komplex tönt, habe ich das beilegend noch etwas illustriert:
Ich hoffe ihr versteht meinen Ansatz und danke Euch ganz herzlich für Eure wertvolle Hilfe.
Grüsse Lionheart
Ich habe hier eine Knacknuss mit der ich einfach nicht weiter komme, ich hoffe jemand kann mir weiter helfen:
Ich habe folgende Tabellen: Leitungen,Pfade,Kabel,Pfadkabel
Ich möchte alle Leitungen selektieren die jeweils einen Pfad (und ergo die dazugehörigen Kabel) benutzen der länger als 1300m ist. Mit meiner Selektion kriege ich leider auch diejenigen Leitungen die sich auf einem kürzeren Pfad befinden der eines oder mehrere Kabel des längeren Pfades benutzt. Ich will aber nur diejenigen Leitungen die sich GENAU auf diesem einen Pfad befinden der länger als 1300m ist, also nur die Leitungen die alle Kabel des gewünschten Pfades (<1300m) benutzen und KEINES mehr oder weniger.
Man müsste also ausdrücken können:
Selektiere alle Leitungen bei denen es kein Kabel im Pfad gibt das nicht in der Leitung vorhanden ist.
select distinct Leitung.id,Pfad.realdistanz,Pfad.id
from leitungen,pfade,kabel, pfadkabel
where pfad.realdistanz>1300
and pfad.id=Pfadkabel.Pfad_id
and Pfadkabel.kabel_id=kabel.id
and kabel.id=leitung.kbl_id;
Weil das (zumindest für mich) doch schon ganz komplex tönt, habe ich das beilegend noch etwas illustriert:
Ich hoffe ihr versteht meinen Ansatz und danke Euch ganz herzlich für Eure wertvolle Hilfe.
Grüsse Lionheart