Объединить две таблицы SQL из разных запросов - PullRequest
0 голосов
/ 25 мая 2018

Я пытаюсь объединить эти два запроса.Кто-нибудь может помочь?

Запрос 1 -

SELECT provas.id, disciplinas.disciplina, disciplinas.grupo,salas.sala 
FROM provas, disciplinas, horarios, salas 
WHERE provas.id = provas.id AND provas.id_disciplina = disciplinas.id AND provas.id_horario = horarios.id AND provas.id_sala = salas.id AND provas.id_horario JOIN horarios ON ;

Запрос 2 -

SELECT dias.dia, meses.nome, horas.hora, minutos.minuto 
FROM horarios, meses, dias, horas, minutos 
WHERE horarios.id = horarios.id AND horarios.id_dia = dias.id AND horarios.id_hora = horas.id AND horarios.id_mes = meses.id AND horarios.id_minuto = minutos.id;

Основной стол

Вторая основная таблица

Я хочу связать таблицу "provas" с "horario", но таблица horario имеет больше внешних ключей

provas = экзамены horarios = scheudule

Я хочу присоединиться к расписанию в таблице экзаменов, но в расписании есть больше внешних ключей для таблиц «дни», «месяцы», «часы» и «минуты»

Все задействованные таблицы

Ответы [ 2 ]

0 голосов
/ 25 мая 2018

Мое решение (я предпочитаю этот способ):

 SELECT provas.id, disciplinas.disciplina, disciplinas.grupo,salas.sala ,dias.dia, meses.nome, horas.hora, minutos.minuto 
 FROM provas, disciplinas, horarios, salas, meses, dias, horas, minutos
 WHERE provas.id = provas.id AND provas.id_disciplina = disciplinas.id AND provas.id_horario = horarios.id AND provas.id_sala = salas.id AND provas.id_horario AND horarios.id_dia = dias.id AND horarios.id_hora = horas.id AND horarios.id_mes = meses.id AND horarios.id_minuto = minutos.id;
0 голосов
/ 25 мая 2018

Вы можете попробовать следующий запрос.Я не запускал это, чтобы убедиться, что нет синтаксических ошибок.Но вы можете увидеть концепцию.Вы можете присоединиться с набором результатов второго запроса, как показано ниже.Я предлагаю вам снова рассмотреть объединения в исходном запросе.Вы можете изменить объединения в моем ответе, так как он соответствует вашим целям.

SELECT ps.id, das.disciplina, das.grupo,s.sala 
FROM provas ps 
inner join disciplinas das on ps.id_disciplina = das.id
inner join horarios hs on ps.id_horario = hs.id
inner join salas s on ps.id_sala = s.id
inner join (
SELECT d.dia, ms.nome, h.hora, m.minuto, hs.id hsid
FROM horarios hs
inner join  meses ms on hs.id_mes = ms.id
inner join dias d on hs.id_dia = d.id
inner join horas h on hs.id_hora = h.id 
inner join minutos m on hs.id_minuto = m.id) zz on ps.id_horario = zz.hsid
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...