2014-12-23 3 views
1
UPDATE dwh.product_in_offer AS t 
SET (t.PRODUCT_BUCKET_TYPE_CODE,t.PRODUCT_BUCKET_TYPE_DESC,t.LAST_EDIT_TYPE,t.CREATE_ID,t.UPDATE_ID) = 
    (SELECT s.PRODUCT_BUCKET_TYPE_CODE, s.PRODUCT_BUCKET_TYPE_DESC, s.LAST_EDIT_TYPE, s.CREATE_ID, s.UPDATE_ID 
    FROM dwh.product_in_offer_vw AS s 
    WHERE create_id = 0 
     AND t.PRODUCT_KEY = s.PRODUCT_KEY 
     AND t.OFFER_KEY=s.OFFER_KEY) 
INNER JOIN dwh.product_in_offer_vw p on t.PRODUCT_KEY=p.PRODUCT_KEY and t.OFFER_KEY=p.OFFER_KEY 
WHERE create_id = 0; 

ERROR:Syntax error near INNER, offset 386 "..ND t.OFFER_KEY=s.OFFER_KEY) -->INNER<--"обновление не работает

Любая идея ??

+0

Что вы используете? –

ответ

2

Статья INNER JOIN должна быть представлена ​​до оговорки SET.

UPDATE dwh.product_in_offer AS t 
INNER JOIN dwh.product_in_offer_vw p on t.PRODUCT_KEY=p.PRODUCT_KEY and t.OFFER_KEY=p.OFFER_KEY 
SET (t.PRODUCT_BUCKET_TYPE_CODE,t.PRODUCT_BUCKET_TYPE_DESC,t.LAST_EDIT_TYPE,t.CREATE_ID,t.UPDATE_ID) = 
    (SELECT s.PRODUCT_BUCKET_TYPE_CODE, s.PRODUCT_BUCKET_TYPE_DESC, s.LAST_EDIT_TYPE, s.CREATE_ID, s.UPDATE_ID 
    FROM dwh.product_in_offer_vw AS s 
    WHERE create_id = 0 
     AND t.PRODUCT_KEY = s.PRODUCT_KEY 
     AND t.OFFER_KEY=s.OFFER_KEY) 
WHERE create_id = 0; 
+0

Спасибо за ответ его рабочий :) – user4385685