我希望以最高性能的方式执行以下操作...
我有一个源表[产品]
ColA | ColB | ColC
AA | B | CD
AA | E | CD
一个映射规范表[mappings]
TargetField | MatchExpr | ValueExpr
ColA | AA | ZZ
ColA | ZZ | BB
ColC | CD | F
额外点 - 它还可以指定具有值的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
我在考虑使用Mapping表来为交叉连接做准备,但是缺少数字聚合让我感到困惑。
我想生成一个结果表,其中映射按照映射表指定的顺序应用于列。如果MatchExpr匹配,则将使用ValueExpr更新映射表条目中指定的列。 因此结果将是
ColA | ColB | ColC |
BB | B | F
BB | E | F
任何帮助将不胜感激!