Я пытаюсь запросить базу данных (не принадлежащую мне), которая содержит следующие столбцы:
NumEpoca (epoch), Turma(class), Dia (day - indicates day of the week),
Hora (hour - each value indicates a 30mins time, a 3h class generate 6 tuples),
Disciplina (course), TipoAula (type of class, theoretical or practical),
Sala (classroom)
Это в основном расписание занятий, поэтому для данного класса в тот же день неделю, когда я могу провести в одну неделю практические занятия, а в другую - теоретические.
Теперь я хочу получить для данного дня минимальный и максимальный час (чтобы я мог рассчитать начальный и конечный час). час занятий), но я также хочу получить для них классы, и я не знаю априори, будет ли это теоретический или практический урок.
Кроме того, некоторые занятия являются только практическими , а некоторые являются чисто теоретическими, поэтому мне нужен только 1 класс.
Запрос, который я выполняю, дает мне практически все, но
LectureDetails(beginDate=2020-05-26 15:30:00, endDate=2020-05-26 18:30:00, classroom=L_H1/G.0.08)
LectureDetails(beginDate=2020-05-26 15:30:00, endDate=2020-05-26 18:30:00, classroom=G.0.08/L_H1)
, как вы можете видеть здесь, я получаю тот же класс (который начинается и заканчивается в один и тот же час, для двух классов Teo и Pract. Но мне нужен только 1 кортеж на этот день, и я получаю L_H1 / G.0.08 и G.0.08 / L_H1.
"SELECT a1.Dia,MIN(a1.Hora),MAX(a1.Hora),a1.Sala, a2.Sala FROM Aulas as a1 LEFT JOIN Aulas as a2 " +
"on a1.Sala <> a2.Sala and a1.Disciplina = a2.Disciplina and a1.NumEpoca = a2.NumEpoca and a1.Turma = a2.Turma " +
"and a1.Dia= a2.Dia and a1.Hora = a2.Hora " +
"where NumEpoca = ? AND Turma = ? AND Disciplina=? GROUP BY a1.Dia,a1.Sala,a2.Sala"
Заранее спасибо.