Таблица проектов T-SQL + Преобразование карт → Новая таблица

78
8

Я хочу создать наиболее эффективный способ сделать следующее...

У меня есть исходная таблица [products]

ColA | ColB | ColC

AA | B | CD

AA | E | CD

И таблица спецификации сопоставления [сопоставления]

TargetField | MatchExpr | ValueExpr
ColA | AA | ZZ
ColA | ZZ | BB
ColC | CD | F

Дополнительно points-- он также может указать столбец ValueFields со значением, таким как "ColB, ColC" и ValueExpr, например "{0} - {1}", для которого FORMAT должен применяться для получения истинного ValueExpr.

Я пытаюсь создать табличную функцию

CREATE FUNCTION RuleMappedProducts()
RETURNS @MPROD TABLE
(ColA, ColB, ColC)
AS
BEGIN
-- Fill the table variable with the rows for the result set

RETURN
END
GO

Я думал о том, чтобы повернуть таблицу сопоставления, чтобы подготовить ее к перекрестному соединению, но нехватка числовых агрегатов меня смутила.

Я хотел бы создать таблицу результатов с сопоставлениями, применяемыми к столбцам в порядке, указанном таблицей сопоставления. Столбец, указанный в записи таблицы сопоставления, будет обновлен ValueExpr, если MatchExpr соответствует. Поэтому результат будет

    ColA | ColB | ColC |  
BB | B | F
BB | E | F

Любая помощь будет оценена!

спросил(а) 2016-02-18T02:41:00+03:00 4 года, 5 месяцев назад
0
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема