0

SQLサーバー2008r2でこのクエリを実行しようとしています-

SELECT @lUpd1 = 'UPDATE ts1cust.dbo.t_grgr_xwalk 
SET    xwalk.WEB = info.WEB,xwalk.AVIVIA = info.AVIVIA,xwalk.MSP = info.MSP,xwalk.QO   =    info.QO
FROM   ts1cust.dbo.t_plan_mspqo_info info, ts1cust.dbo.t_grgr_xwalk xwalk
WHERE  info.PLANID = xwalk.ID_471'

しかし、以下のエラーが発生します-

 Msg 4104, Level 16, State 1, Line 1
The multi-part identifier "xwalk.WEB" could not be bound.
4

3 に答える 3

0

以下で試すことができます:SELECT @ lUpd1 ='UPDATE ts1cust.dbo.t_grgr_xwalk xwalk SET xwalk.WEB = info.WEB、xwalk.AVIVIA = info.AVIVIA、xwalk.MSP = info.MSP、xwalk.QO = info.QO FROM ts1cust.dbo.t_plan_mspqo_info info WHERE info.PLANID = xwalk.ID_471 '

于 2013-03-13T09:07:02.963 に答える
0

SET句の列の割り当て側にマルチパート識別子を使用することは許可されていません。

SELECT @lUpd1 = 'UPDATE xwalk
SET    WEB = info.WEB, --<-- no xwalk. here
       AVIVIA = info.AVIVIA,
       MSP = info.MSP,
       QO   =    info.QO
FROM   ts1cust.dbo.t_plan_mspqo_info info
   INNER JOIN
       ts1cust.dbo.t_grgr_xwalk xwalk
         ON  info.PLANID = xwalk.ID_471'

また、テーブル参照を、上部で使用しているエイリアスに自由に置き換え、 ANSIではなくUPDATEANSIを使用するように切り替えました。JOIN,

于 2013-03-13T09:08:08.393 に答える
0

t_grgr_xwalkテーブルを としてエイリアスするxwalkため、最初の式にもUpdate Table使用する必要がありxwalkます。

SELECT @lUpd1 = 'UPDATE xwalk
SET    WEB = info.WEB,
       AVIVIA = info.AVIVIA,
       MSP = info.MSP,
       QO = info.QO
FROM   ts1cust.dbo.t_plan_mspqo_info info, ts1cust.dbo.t_grgr_xwalk xwalk
WHERE  info.PLANID = xwalk.ID_471'
于 2013-03-13T09:06:18.020 に答える