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 * Надеюсь, это поможет