#sql #oracle-sqldeveloper #oracle-apex #selectlist
Вопрос:
У меня есть список избранных, чтобы показать список национальностей, который
SELECT DESCRIPTION d, NATIONALITY_ID r FROM NATIONALITY ORDER BY DESCRIPTION;
Это возвращает мой список в алфавитном порядке, что вполне нормально. Теперь я хочу, чтобы значение по умолчанию было «британским», так как это будет наиболее распространенное значение, используемое в этом сценарии. Однако даже с «Отображаемым нулевым значением», установленным на «Нет», и после попытки установить значение по умолчанию на статическое и установить его на «Британский», это не сработает, я также попытался установить значение по умолчанию на «SQL-запрос», и этот запрос был
SELECT DESCRIPTION FROM NATIONALITY WHERE DESCRIPTION = ‘British’
Все, что я пытаюсь, не работает, и он будет продолжать показывать первый выбор в списке.
Ответ №1:
Изменить ORDER BY
предложение:
SQLgt; with nationality (description, nationality_id) as 2 (select 'Austrian', 1 from dual union all 3 select 'Croatian', 2 from dual union all 4 select 'British' , 3 from dual union all 5 select 'French' , 4 from dual 6 ) 7 select description d, nationality_id r 8 from nationality 9 order by case when description = 'British' then 1 10 end, 11 description; D R -------- ---------- British 3 Austrian 1 Croatian 2 French 4 SQLgt;
Ответ №2:
Значение элемента списка выбора является возвращаемым значением, а не отображаемым значением.
Предположим, у вас есть форма в таблице пользователей. Одним из пунктов страницы будет «Национальность». В таблице пользователи у вас будет столбец nationality_id с внешним ключом к таблице национальностей. Элемент страницы P1_NATIONALITY будет содержать значение, которое хранится в таблице пользователей, а именно nationality_id.
Чтобы установить значение по умолчанию, вы можете использовать «SQL-запрос» следующим образом:
SELECT NATIONALITY_ID FROM NATIONALITY WHERE DESCRIPTION = ‘British’