Ich habe diese beiden Abfragen.Join unabhängig Tabelle und Suche nach verfügbaren Datum
Abfrage 1:
SELECT fex.availableID, fex.lecturerID, fex.freedate,
ex.lecturerID AS Examiner, ex.lecturerFullname,
v.availableID, v.availableDay, v.availableStart, v.availableEnd, v.availableEnd
FROM free fex
INNER JOIN lecturer ex
ON fex.lecturerID = ex.lecturerID
INNER JOIN availability v
ON fex.availableID = v.availableID
Abfrage 2:
SELECT s.studentID, s.studentName, s.projectTitle, s.lecturerID AS supervisor,
sv.lecturerID, sv.lecturerFullname,
fsv.availableid, fsv.lecturerid, fsv.freedate
FROM student s
INNER JOIN lecturer sv
ON s.lecturerID = sv.lecturerID
INNER JOIN free fsv
ON s.lecturerID = fsv.lecturerID
Wie Sie Dozenten hier spielt zwei Rollen sehen, die supervisor
und examiner
sind. Abfrage 1 zeigt die Abfrage für examiner
. Abfrage 2 zeigt die Abfrage für supervisor
und ihre Schüler.
Datenbank-Schema:
Frei:
availableID (number)
lecturerID (varchar2)
freedate (Date)
Dozent:
lecturerID (varchar2)
lecturerFullname (varchar2)
Verfügbarkeit:
availableID (number)
availableDay (varchar2)
availableStart (Date) //Time
availableEnd (Date) //Time
availableDate (Date)
Student:
studentID (varchar2)
studentName (varchar2)
Projecttitle (varchar2)
lecturerID(varchar2)
Zunächst möchte ich diese beiden Abfragen verbinden. Da sie nicht verwandt sind. Ich habe versucht, CROSS JOIN
zu verwenden, aber ich habe unendlich Ergebnis.
Zweitens, nachdem die Abfrage verknüpft ist. Ich möchte, dass die Abfrage das supervisor
ODER das examiner
findet, in dem eins von ihnen Wert in freedate
hat (zB: 10-05-2016). Da die meisten von ihnen einen Nullwert in freedate
haben. Nur bestimmte Dozenten haben einen Wert darauf.
Dann wird es ein Abfrageergebnis produzieren, wo es so etwas wie dies zeigt:
studentID studentName projectTitle supervisor examiner availableID availableDay freeDate
123 hunter abc mary kent 10 Tuesday 10-05-2016
Zum Beispiel kann der Prüfer hat freedate
2016.10.05. Der Supervisor hat einen Nullwert von freedate
.
Oder gibt es vielleicht einen effizienten Weg?
Es ist unklar, wie die Daten "zusammenkommen". Wenn Sie einige Beispieldaten hinzufügen können, die Ihren gewünschten Ergebnissen entsprechen, können wir sie möglicherweise besser verstehen. – sstan