根据目的地向 Sp 添加计算规则 table

Add a calculation rule to a Sp based on the destination table

我有一个存储过程,它从多个表中获取列,例如

INSERT INTO TABLE A (Column1, Column2, Column3, Column4, Column5)
    SELECT
        (B.ColumnBBBB AS Column1, 
         C.ColumnCCC AS Column2, 
         D.ColumnDDDD AS Column3,
         --CASE WHEN A.Column1 ....  AS Column4,
         --CASE WHEN A.Column4=x AND Column3=Y THEN .. ELSE .. AS Column5
    FROM 
        B 
    LEFT JOIN 
        C ON ...=...
    LEFT JOIN 
        D ON ...=...)

执行此操作时出现以下错误:

Msg 4104, Level 16, State 1, Procedure , Line 212 [Batch Start Line 5]
The multi-part identifier "A.Column1" could not be bound.

提前致谢

当你使用INSERT.....SELECT时,SELECTINSERT一无所知。换句话说:你必须确保 SELECT 本身可以 运行 并为你提供你想要的数据,然后你可以添加 INSERT.

您应该怀疑您的写法,因为当您指定表 B、C、D 的连接方式时,程序如何知道 A 与 B 的连接方式?

因此您必须将 'FROM' 更改为:

FROM A
    (INNER?) JOIN B on some_condition
    LEFT JOIN C (...continue with your code)