-
T_46 为价格明细表
t_47 、t_56 为调价单的主表、明细表
设计想法为:
1、在调价表中,根据主表选择价格类别,查询以后明细表显示物品名称以及对应的单价。(此步骤以实现)
2、在子表中输入每个商品的调整后价格回写至 t_46 价格表中。
因为这里回写需要根据价格类别判断,回写到对应字段列中。
一下语句在SQL中,测试可用。但是在快表表间公式中报错。
各路大神帮我分析一下,一下语句问题在哪。或者有没有其他实现的方式!!!
表间公式 截图如下,使用变量和不使用变量报错都一样!
IF( [T_47].[F_379] = '单价1')
BEGIN
UPDATE [T_46] SET [T_46].[F_362] = [T_56].[F_374] FROM [T_46],[T_47],[T_56]
WHERE [T_56].[ID] = [T_47].[ID] AND [T_46].[F_360] = [T_56].[F_384]
END
ELSE IF( [T_47].[F_379] ='单价2')
BEGIN
UPDATE [T_46] SET [T_46].[F_363] = [T_56].[F_374] FROM [T_46],[T_47],[T_56]
WHERE [T_56].[ID] = [T_47].[ID] AND [T_46].[F_360] = [T_56].[F_384]
END
ELSE IF( [T_47].[F_379] ='单价3')
BEGIN
UPDATE [T_46] SET [T_46].[F_364] = [T_56].[F_374] FROM [T_46],[T_47],[T_56]
WHERE [T_56].[ID] = [T_47].[ID] AND [T_46].[F_360] = [T_56].[F_384]
END
ELSE IF( [T_47].[F_379] ='单价4')
BEGIN
UPDATE [T_46] SET [T_46].[F_365] = [T_56].[F_374] FROM [T_46],[T_47],[T_56]
WHERE [T_56].[ID] = [T_47].[ID] AND [T_46].[F_360] = [T_56].[F_384]
END
ELSE IF( [T_47].[F_379] ='单价5')
BEGIN
UPDATE [T_46] SET [T_46].[F_366] = [T_56].[F_374] FROM [T_46],[T_47],[T_56]
WHERE [T_56].[ID] = [T_47].[ID] AND [T_46].[F_360] = [T_56].[F_384]
END
|
|
teddy_f