У меня есть две таблицы x и y
Таблица x имеет 24 столбца, каждый из которых содержит разные значения идентификатора.
В таблице Y есть столбец значения идентификатора и описание
Мне нужно написать процедуру, запрос или представление, которое возвращает описания для каждого из 24 значений идентификаторов, содержащихся в таблице x, максимально эффективным способом.
Я написал представление, которое вызывает функцию 24 раза. Функция возвращает описание на основе предоставленного идентификатора. Хотя это работает, это не работает особенно хорошо.
Есть ли метод, который я должен использовать, когда требуется такое количество описаний из одной таблицы?
Вот определение таблицы x (для ясности удалены нерелевантные столбцы)
[DefinitiveHLATypeId] [int] IDENTITY(1,1) NOT NULL,
[PersonId] [int] NOT NULL,
[A_X] [int] NULL,
[A_Y] [int] NULL,
[B_X] [int] NULL,
[B_Y] [int] NULL,
[Bw_X] [int] NULL,
[Bw_Y] [int] NULL,
[C_X] [int] NULL,
[DRB1_X] [int] NULL,
[DRB1_Y] [int] NULL,
[DRB3_X] [int] NULL,
[DRB3_Y] [int] NULL,
[DRB4_X] [int] NULL,
[DRB4_Y] [int] NULL,
[DRB5_X] [int] NULL,
[DRB5_Y] [int] NULL,
[DQA_X] [int] NULL,
[DQA_Y] [int] NULL,
[DQB_X] [int] NULL,
[DQB_Y] [int] NULL,
[DPA1_X] [int] NULL,
[DPA1_Y] [int] NULL,
[DPB1_X] [int] NULL,
[DPB1_Y] [int] NULL
Вот определение таблицы y (для ясности удалены нерелевантные столбцы)
[AntigenId] [int] IDENTITY(1,1) NOT NULL,
[AntigenDescription] [varchar](2000) NOT NULL
Связь между двумя таблицами находится между столбцами _X и _Y в таблице x и столбцом AntigenId в таблице Y.
Мне нужно вернуть описание антигена для каждого из столбцов _X и _Y в таблице x.