Проблема внешнего соединения SQL Server 2005 в хранимой процедуре - PullRequest
0 голосов
/ 30 октября 2009

Добрый день всем,

У меня есть две таблицы в моей базе данных SQL Server 2005: Main и MSDRGWEIGHTS. Я хочу создать хранимую процедуру, которая обновляет Main.RelWeight с соответствующим значением из MSDRGWEIGHTS. Я написал следующий код как часть хранимой процедуры:

UPDATE MAIN 
left outer join MSDRGWEIGHTS AS W ON MAIN.MSDRG=W.MSDRG
SET M.RELWEIGHT =
CASE
WHEN M.DISCHARGEDATE BETWEEN 20071001 AND 20080930 THEN W.WEIGHTSOCT07
WHEN M.DISCHARGEDATE BETWEEN 20081001 AND 20090930 THEN W.WEIGHTSOCT08
END
END
GO

Когда я выполняю этот код, я получаю сообщение об ошибке с указанием неправильного синтаксиса рядом с ключевым словом слева. Может кто-нибудь предложить правильный способ обновления RELWEIGHT с помощью хранимой процедуры? Или это выходит за рамки взросления?

Спасибо, Sid

1 Ответ

4 голосов
/ 30 октября 2009
    UPDATE 
          m 
     SET m.RELWEIGHT= CASE
                        WHEN M.DISCHARGEDATE BETWEEN 20071001 AND 20080930 THEN W.WEIGHTSOCT07WHEN   
                       WHEN M.DISCHARGEDATE BETWEEN 20081001 AND 20090930 THEN W.WEIGHTSOCT08
    END 
    FROM 
          MAIN m 
   INNER JOIN MSDRGWEIGHTS mw 
   ON 
   mw.MSDRG = m.MSDRG
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...