Max и Decode конвертируются в SQL Server - PullRequest
0 голосов
/ 08 июня 2018

Я хочу преобразовать этот фрагмент запроса для запуска в SQL Server, взятый из запроса Oracle:

SELECT    
    x.JudgmentMonth,
    MAX(DECODE(x.RecordType, '1', x.Volumes)) CONSUMER,
    MAX(DECODE(x.RecordType, '2', x.Volumes)) COMMERCIAL
FROM    
    (SELECT    
         r.JudgmentMonth, r.RecordType, r.Volumes
     FROM    
         dset r) x
GROUP BY 
    x.JudgmentMonth

Я не знаком с SQL Server, и любая помощь будет высоко оценена.

1 Ответ

0 голосов
/ 08 июня 2018

Oracle decode по сути является сокращением для выражения ANSI-SQL case:

MAX(CASE x.RecordType WHEN '1' THEN x.Volumes END) CONSUMER,
MAX(CASE x.RecordType WHEN '2' THEN x.Volumes END) COMMERCIAL
...