1

我有这样的UPDATE声明:

UPDATE BLDG SET
    BLDG.BLOC1 = T.BLOC1,
    BLDG.BLOC2 = T.BLOC2,
    BLDG.BLOC3 = T.BLOC3
FROM BLDG B
INNER JOIN
    (SELECT * FROM dbo.INVENTORIZE(B.B_ID)) T
ON B.B_ID = T.B_ID

它使用一个简单的函数 - 单独运行 - 返回:

B_ID   BLOC1   BLOC2   BLOC3
-----------------------------
1      2.00    3.00    NULL

上述更新语句返回错误“无法绑定多部分标识符“B.B_ID”。” 我究竟做错了什么?

4

1 回答 1

3
UPDATE B SET
    BLOC1 = T.BLOC1,
    BLOC2 = T.BLOC2,
    BLOC3 = T.BLOC3
FROM dbo.BLDG B
CROSS APPLY dbo.INVENTORIZE(B.B_ID) AS T;
于 2014-01-24T18:16:39.677 回答