Gettin значение из таблицы и использование в одном запросе
SELECT (h.horario), h.codigo
FROM horarios as h
JOIN horario_turma as h_t
ON(h.codigo != h_t.cd_horario)
WHERE h_t.cd_turma = 'HTJ009'
AND h_t.cd_dia = 2
AND h.cd_turno = 1
Я пытаюсь выяснить, есть ли возможность получить значение h.cd_turno
из другой таблицы и использовать в том же запросе, так как это значение будет переменной. Итак, я должен получить это значение из запроса, а затем передать значение PHP и сделать еще один запрос с этим значением. Есть ли способ сделать это в том же запросе?
Там есть таблица под названием turmas(codigo, cd_turno)
. У меня будет значение codigo
, в данном случае HTJ009
, и я бы хотел выбрать значение cd_turno
.
Запрос, используемый для получения значения:
SELECT cd_turno FROM turmas WHERE codigo='HTJ009'
Вы можете использовать подзапрос, например:
SELECT (h.horario), h.codigo
FROM horarios as h
JOIN horario_turma as h_t
ON(h.codigo != h_t.cd_horario)
WHERE h_t.cd_turma = 'HTJ009'
AND h_t.cd_dia = 2
AND h.cd_turno = (SELECT cd_turno FROM turmas WHERE codigo='HTJ009')
В этом случае помните, что важно, чтобы подзапрос возвращал только один результат, иначе вы столкнетесь с ошибкой. Если вы видите такую ошибку, возможно, вам придется подстроить подзапрос, чтобы обеспечить возврат только одного результата.
Проверьте это для документации подзапроса Postgres
SELECT (h.horario), h.codigo
FROM horarios as h
JOIN horario_turma as h_t
ON(h.codigo = h_t.cd_horario)
WHERE h_t.cd_turma = 'HTJ009'
AND h_t.cd_dia = 2
AND h.cd_turno = 1 and h_t.cd_horario is null
Еще в рубрике
- Вопросы
- Postgresql
- Gettin значение из таблицы и использование в одном запросе