Раскрывающийся список - это вопрос со стороны клиента, и с ним нужно обращаться соответствующим образом.Но если речь идет о реляционной базе данных, должно существовать отношение student_type со столбцами id
и type
, которые вы бы запросили следующим образом:
select st.id, st.type
from student_type st
inner join student s on s.type_id = st.id
group by st.id, st.type
order by st.type
Внутреннее соединение должно быть уверенным, что вы не используетене показывать опцию, которая не существует в таблице учеников и, следовательно, выдает пустой результат, если выбран.На стороне клиента в качестве идентификатора должно быть указано значение параметра, а в текстовом виде введите текст параметра.
Если в результате неправильного проектирования БД отсутствует отношение student_type или если вам разрешено запрашивать только денормализованное представление,все еще можно использовать отношение ученика:
select distinct student_type
from student
order by student_type
В этом случае тип student_ будет и значением опции, и текстом опции.