繁体   English   中英

SQL在内部联接中的AS中选择

[英]SQL select in AS in inner join

我有这种查询,我想按类别选择,例如('CENTRAL','EASTERN')中的Region作为A1,选择('NORTHERN','SOUTHERN')中的Region作为A2

如何在我的查询中添加?

SELECT
  locinvaisle.Region AS Region,
  sum(sales_data.QUANTITY/1000) AS UnitMT
FROM
  sales_data
  INNER JOIN locinvaisle ON locinvaisle.Location = sales_data.LOCATION
WHERE
 sales_data.unit = 'KG'
 and
 sales_data.CUSTOMERACCOUNT not in ('CT1008','CT1009')
 group by locinvaisle.Region

我认为如果您的数据库是mysqloraclemssql等通用数据库,则可以使用IFCASE

SELECT
  CASE WHEN locinvaisle.Region = 'CENTRAL' OR locinvaisle.Region = 'EASTERN' THEN 'A1'
  CASE WHEN locinvaisle.Region = 'NORTHERN' OR locinvaisle.Region = 'SOUTHERN' THEN 'A2'
  ELSE 'Default'
  END
    AS Region,
  sum(sales_data.QUANTITY/1000) AS UnitMT
FROM
  sales_data
  INNER JOIN locinvaisle ON locinvaisle.Location = sales_data.LOCATION
WHERE
 sales_data.unit = 'KG'
 and
 sales_data.CUSTOMERACCOUNT not in ('CT1008','CT1009')
 group by Region

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM