Синтаксическая ошибка при создании запроса. Пожалуйста, руководство - PullRequest
0 голосов
/ 07 сентября 2011
CREATE TABLE Report AS 
 (SELECT b.Id, 
  (CASE WHEN b.Svc_Id = 3 THEN 'NET MARKET'
        WHEN b.Svc_Id = 8 THEN 'NET SAL'
        WHEN b.Svc_Id = 7 THEN 'NET RESAT'
        WHEN b.Svc_Id = 20 THEN 'NET TAX'
  END) as CurrSvcId,
  b.Classification,
  (CASE WHEN a.NewSvcId = 6 THEN 'Priority Low'
        WHEN a.NewSvcId = 9 THEN 'Priority Medium'
        WHEN a.NewSvcId = 21 THEN 'Priority High'
  END) as SINewSvcCd,
  b.Login_Name
  FROM Market_Data b, Report a
  WHERE ((b.Svc_Id = 3 and a.NewSvcId = 0) OR (b.Svc_Id = 3 AND a.NewSvcId > 0 ))
    AND a.Flag = 0 AND b.User_Id = a.User_Id
    AND a.Status = 'ACTIVE'
    AND a.RetCode = 0 order by b.SvcId
 )

Я получаю сообщение об ошибке, указывающее на отсутствие правильного паратеза.Пожалуйста, помогите мне в этом

1 Ответ

3 голосов
/ 07 сентября 2011
CREATE TABLE Report AS 
   SELECT b.Id, 
        ( CASE b.Svc_Id
             WHEN 3 
             THEN 'NET MARKET' 
             WHEN 8 
             THEN 'NET SAL' 
             WHEN 7 
             THEN 'NET RESAT' 
             WHEN 20 
             THEN 'NET TAX' 
           END ) as CurrSvcId, 
        b.Classification, 
        ( CASE a.NewSvcId
             WHEN 6 
             THEN 'Priority Low' 
             WHEN 9 
             THEN 'Priority Medium' 
             WHEN 21 
             THEN 'Priority High' 
           END ) as SINewSvcCd, 
        b.Login_Name 
   FROM Market_Data b, 
        Report a 
  WHERE (b.Svc_Id = 3 AND a.NewSvcId >= 0 )
    AND a.Flag = 0 
    AND b.User_Id = a.User_Id 
    AND a.Status = 'ACTIVE' 
    AND a.RetCode = 0 
  order by b.SvcId;

Вы должны добавить раздел "ELSE" в оба ваших оператора "CASE", чтобы перехватывать любые другие значения, которые могут произойти (хотя и маловероятно).

Предложение "ORDER BY" может быть ложнымВам действительно нужны строки, введенные в таблицу RDBMS в определенном порядке?Вы можете, но, как правило, не хотите, подумайте, нужно ли вам это или нет.

Вы также можете рассмотреть предложение о хранении и т. Д., Если вы не уверены, поговорите об этом со своим администратором базы данных.1007 * Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...