viniwillswissen
Grünschnabel
Guten Tag liebe Tutorials Community,
ich studiere aktuell Informatik und wir haben als Hausarbeit folgende Aufgabe bekommen.


-> Ich habe folgendes Logikproblem bei der h:
SELECT SPJ.JNO
FROM J, S, SPJ
WHERE (SPJ.JNO = J.JNO) AND (SPJ.SNO = S.SNO) AND (S.CITY <> J.CITY);
-> Ausgabe beinhaltet auch die 1,4 und die 7
-> Mir fällt keine Methode ein, in der ich in der WHERE nochmal überprüfe, ob ein Projekt einmal ein 'true' bekommen hat bei
der letzten Bedingung. Damit ich diese aus der Ausgabe ausschließen kann. Auch mit einem HAVING Statement kommt mir keine Idee, wie ich das
lösen könnte. Habe es nur mit einem Counter geschafft, der die trues in einer extra Spalte zählt und diese habe ich dann mit einem Having ausgeschlossen.
Diesen Weg finde ich dennoch sehr umständlich und wollte nach eleganteren Lösungen fragen.
Wahrscheinlich übersehe ich etwas sehr simples.
Bin für jede Antwort sehr dankbar.
Mit freundlichen Grüßen
Ich
ich studiere aktuell Informatik und wir haben als Hausarbeit folgende Aufgabe bekommen.


-> Ich habe folgendes Logikproblem bei der h:
SELECT SPJ.JNO
FROM J, S, SPJ
WHERE (SPJ.JNO = J.JNO) AND (SPJ.SNO = S.SNO) AND (S.CITY <> J.CITY);
-> Ausgabe beinhaltet auch die 1,4 und die 7
-> Mir fällt keine Methode ein, in der ich in der WHERE nochmal überprüfe, ob ein Projekt einmal ein 'true' bekommen hat bei
der letzten Bedingung. Damit ich diese aus der Ausgabe ausschließen kann. Auch mit einem HAVING Statement kommt mir keine Idee, wie ich das
lösen könnte. Habe es nur mit einem Counter geschafft, der die trues in einer extra Spalte zählt und diese habe ich dann mit einem Having ausgeschlossen.
Diesen Weg finde ich dennoch sehr umständlich und wollte nach eleganteren Lösungen fragen.
Wahrscheinlich übersehe ich etwas sehr simples.
Bin für jede Antwort sehr dankbar.
Mit freundlichen Grüßen
Ich