Вы можете хранить их в отдельных таблицах, и ваша хранимая процедура возвращает один набор данных с помощью ключа «datatype», который указывает, какой набор значений соответствует какому параметру.
Однако я призываю вас рассмотреть совершенно другой подход. Это предложение основано на годах создания веб-сайтов, управляемых данными. Если эти раскрывающиеся параметры меняются не очень часто, то почему бы не создавать файлы на стороне сервера, а не запрашивать базу данных. Мы сделали это с большинством наших сайтов. Подумайте об этом, каждый раз, когда страница представлена, вы запрашиваете в базе данных один и тот же список значений ... эти данные почти никогда не меняются.
В тех случаях, когда эти данные имели тенденцию к изменению, мы просто добавляли подпрограмму к внутреннему администратору, которая перестраивала файл включения на стороне сервера всякий раз, когда было добавлено, изменено или удалено одно из значений поиска. Это уменьшило количество операций ввода-вывода в базу данных и ускорило загрузку всех наших сайтов.
У нас было примерно 600 веб-сайтов на одном и том же сервере, и все они использовали один и тот же экземпляр SQL Server (отдельные базы данных), и общее количество операций ввода-вывода для нашей серверной базы данных было резко сокращено.
Edit:
Мы просто создали SSI, который выглядел следующим образом ...
Blue
Red
Зеленый