如何在查询中引用别名

2020-08-27 23:23发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嘿 如果我在Select子句中...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


如果我在Select子句中为列指定别名,然后又想引用它,并在查询中进一步使用它,例如在" Order By"," Group By"中使用的正确语法是什么? ,"具有"或Select子句中的其他某些操作?

例如,在下面的代码段示例中,我试图按代码长度检查CardCode的分布。 输出应该有多少客户的CardCode长度为2? 3? 4? 5? 等等。但是我想我在"订购依据"子句和"分组依据"子句中使用的语法不正确。

有人可以帮忙吗?

预先感谢

Yaniv

选择
 len(T0。[CardCode])AS N'length'
 ,计数(*)

 从OCRD T0

 哪里
 1 = 1

 按"长度"分组
 按N'length'DESC排序
6条回答
小灯塔
2020-08-27 23:55

select语句的执行顺序如下:

  1. FROM子句
  2. ON子句
  3. OUTER子句
  4. WHERE子句
  5. GROUP BY子句
  6. HAVING 子句
  7. SELECT子句
  8. DISTINCT子句
  9. ORDER BY子句
  10. TOP子句

您会看到group by在选择之前执行,这就是为什么您不能在其中使用别名的原因。

ORDER BY在SELECT之后执行,因此您可以在其中使用别名。 因此,在您的示例中,您应该使用以下查询:

 SELECT
 len(T0。[CardCode])AS长度
 ,计数(*)

 从OCRD T0

 哪里
 1 = 1

 LEN分组(T0。[CardCode])
 ORDER BY length DESC 

一周热门 更多>