如何在 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
如何编写查询以在 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