如何在 SQL 中创建条件计算列?

How to create a conditional calculated column in SQL?

如何编写查询以在 SQL 中创建条件和计算字段?

我正在尝试合并两个或多个实体,实体的上下文与下面的示例相似。关于如何使用 F£C-A[=22] 创建计算字段,我遇到了问题=].如果我能得到一些帮助,我将不胜感激。

FlightTable                  AirportTable

AKEY  CODE  F    £           Code  City      Country
001   LHR   C    10          ATL   Atlanta   USA
002   BOS   C    15          BOS   Boston    USA
003   BOS   A    9            . . . . . . . . . . . . .
 . . . . . . . . .            . . . . . . . . . . . . . 
101   MAN   C    21          VIE   Schwechat Austria 
102   VIE   A    9           ZRH   Kloten    Switzerland

我正在尝试获取类似于以下内容的联合实体的结果:

Joined table

     CODE CITY    COUNTRY (£ Calculated Field)
001  BOS  Boston  USA      4
 . . . . . . . . . . . . . .

我想你只需要两个连接:

select a.*, (fc.£ - fa.£) as calculation
from airporttable a join
     flighttable fc
     on fc.code = a.code and fc.f = 'C' join
     flighttable fa
     on fa.code = a.code and fa.f = 'A';

您可以在计算中使用 case 语句。

     SELECT AIR.Code, AIR.City, AIR.Country, SUM(CASE WHEN flight.f = 'C' then £
                                                        when flight.f = 'A' then (-1) * £
                                                        else null
                                                        end) as "£ calculated"
     from AirportTable as "air" 
     join FlightTable as "flight" on "air".CODE = "flight".code -- could be AKEY = AKEY