Как мне создать выпадающий список? - PullRequest
0 голосов
/ 16 марта 2012

Я новичок в PostgreSQL.

Мне было интересно, как сделать столбец выпадающим списком.

Итак, у меня есть стол под названием Студент. Там есть колонка с названием «student_type», которая означает, является ли студент студентом, обучающимся на условиях неполного рабочего дня, или студентом сэндвич-курса.

Итак, я хочу сделать «student_type» выпадающим списком с 3 вариантами: «неполный рабочий день», «полный рабочий день» и «сэндвич».

Как мне это сделать?

(кстати, я использую pgAdmin для создания базы данных.)

1 Ответ

1 голос
/ 16 марта 2012

Раскрывающийся список - это вопрос со стороны клиента, и с ним нужно обращаться соответствующим образом.Но если речь идет о реляционной базе данных, должно существовать отношение 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_ будет и значением опции, и текстом опции.

...