如何以更优雅的方式在 SQL Server Compact 中编写此查询?

1 t-sql sql-server-compact

查询是:

 Select  
        Case AStatus  
            When 1 then 'Success'
            When 0 then 'Faliure'
        END,
        Case AStatus  
            When 1 then 'AStatus'
            When 0 then 'AStatus'
        END,
        Case AStatus  
            When 1 then 'Expected:1'  
            When 0 then 'Recived: 0'  
        END
    From Statuses  
    Where LocalPath= 'c:\Status'
Run Code Online (Sandbox Code Playgroud)

在 SQL Server Compact 中运行不佳的原始查询(等于上述查询)是:

Select  
   Case AStatus  
      When 1 then 'Success', 'AStatus', 'Expected:1'  
      When 0 then 'Faliure', 'AStatus', 'Recived: 0'    
   end
From Statuses  
Where LocalPath= 'c:\Status
Run Code Online (Sandbox Code Playgroud)

Seb*_*ine 5

CASET-SQL 中没有多值语句。但是,您可以像这样连接到常量值行源:

SELECT *
  FROM dbo.Statuses AS S
  LEFT JOIN (VALUES(1,'Success','AStatus','Expected:1'),
                   (0,'Failure','AStatus','Received:0')
            ) AS SV(AStatus, Status, Reason, Message)
    ON S.AStatus = SV.AStatus;
Run Code Online (Sandbox Code Playgroud)