У меня эти два запроса.Объединение несвязанной таблицы и поиск доступных данных
Запрос 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
Запрос 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
Как вы можете видеть лектора здесь играет две роли, которые supervisor
и examiner
. В запросе 1 показан запрос для examiner
. В запросе 2 показан запрос для supervisor
и их учеников.
База данных:
Free:
availableID (number)
lecturerID (varchar2)
freedate (Date)
Лектор:
lecturerID (varchar2)
lecturerFullname (varchar2)
Наличие:
availableID (number)
availableDay (varchar2)
availableStart (Date) //Time
availableEnd (Date) //Time
availableDate (Date)
Студент:
studentID (varchar2)
studentName (varchar2)
Projecttitle (varchar2)
lecturerID(varchar2)
Прежде всего, я хотел бы присоединиться к этим двум запросам. Поскольку они не связаны. Я пробовал использовать CROSS JOIN
, но я получил бесконечность.
Во-вторых, после того, как запрос будет соединен. Я бы хотел, чтобы запрос нашел supervisor
ИЛИ examiner
, в котором одно из них имеет значение в freedate
(например: 10-05-2016). Поскольку большинство из них будет иметь значение NULL в freedate
. На него ценят только некоторые лекторы.
Затем он даст результат запроса, где он показывает что-то вроде этого:
studentID studentName projectTitle supervisor examiner availableID availableDay freeDate
123 hunter abc mary kent 10 Tuesday 10-05-2016
Например, экзаменатор freedate
10-05-2016. Между тем, руководитель имеет нулевое значение freedate
.
Или, может быть, есть эффективный способ?
Непонятно, как данные «соединяются» вместе. Если вы можете добавить некоторые примеры данных, которые соответствуют вашим желаемым результатам, мы сможем понять это лучше. – sstan