根据目的地向 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
时,SELECT
对INSERT
一无所知。换句话说:你必须确保 SELECT
本身可以 运行 并为你提供你想要的数据,然后你可以添加 INSERT
.
您应该怀疑您的写法,因为当您指定表 B、C、D 的连接方式时,程序如何知道 A 与 B 的连接方式?
因此您必须将 'FROM' 更改为:
FROM A
(INNER?) JOIN B on some_condition
LEFT JOIN C (...continue with your code)
我有一个存储过程,它从多个表中获取列,例如
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
时,SELECT
对INSERT
一无所知。换句话说:你必须确保 SELECT
本身可以 运行 并为你提供你想要的数据,然后你可以添加 INSERT
.
您应该怀疑您的写法,因为当您指定表 B、C、D 的连接方式时,程序如何知道 A 与 B 的连接方式?
因此您必须将 'FROM' 更改为:
FROM A
(INNER?) JOIN B on some_condition
LEFT JOIN C (...continue with your code)