SQL Выберите только столбцы, которые существуют в виде строк в отдельной таблице метаданных - PullRequest
0 голосов
/ 20 сентября 2009

В моем приложении любой пользователь может настроить, какие столбцы отображать, изменять порядок и изменять размер столбцов. Чтобы сохранить все пользовательские настройки, у меня есть несколько таблиц для этого.

Один из них называется UserColumns и выглядит следующим образом:

Id | UserId | ColumnName | DefaultWidth | Width | SortOrder

Есть ли способ, без динамического генерирования строки выбора и ее выполнения, чтобы я мог выбирать столбцы из таблицы, но только столбцы, которые существуют в таблице UserColumns для этого конкретного пользователя? *

Итак, таблица, подобная ApplicationErrors:

Id | ExceptionMessage | StackTrace | LogDate

Пользователь с id = 1 выбрал следующие столбцы: StackTrace, LogDate.

Поэтому я хочу получить набор результатов только с присутствующими StackTrace и LogDate, упорядоченными по значению столбца SortOrder из таблицы UserColumns.

Возможно ли это?

1 Ответ

3 голосов
/ 20 сентября 2009

Чтобы выполнить выборку с неизвестными столбцами, вам нужно будет динамически сгенерировать запрос и выполнить его.

Если у вас всего несколько пользователей, вы можете создать представление и использовать создание таблицы, которая связывает представление с пользователем, и вы можете выбрать его на основе представления, но тогда ваше приложение захочет сделать это, так как он может динамически создавать запрос с таблицей переменных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...