Я хочу заменить значение в операторе SELECT
, если значение соответствует значению в таблице поиска. Это должно обрабатывать сопоставление от дочернего элемента к родительскому.Условно заменить значение выбора из таблицы сопоставлений
DECLARE @Mappings TABLE
(
IdKey INT IDENTITY PRIMARY KEY ,
ParentModule NVARCHAR(255) ,
ChildModule NVARCHAR(255)
)
Это заполнено дочерними модулями и их родительским модулем, там будет около 200 таких отображений.
Затем в моей инструкции SELECT я хочу использовать ParentModule вместо Child, но если дочерний элемент не сопоставлен, используйте любое значение, которое было бы выбрано.
SELECT DISTINCT
RTRIM(StudentId) ,
ISNULL((RTRIM(AOSCode) + '_' + RTRIM(AOSPeriod)), '') AS Module
FROM Curriculum
Значение Я хочу, чтобы сравнить ChildModule
является (RTRIM(AOSCode) + '_' + RTRIM(AOSPeriod))
. Так что, если совпадения я хочу выбрать, чтобы вернуть @Mappings ParentModule, в противном случае возвращает значение конкатенации AOSCode_AOSPeriod
Оператор SELECT используется в INSERT INTO заявление ...