点击此处---> 群内免费提供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排序
嗨
这是您达到目标的方式
谢谢你们!
我曾经在Teradata上工作过,在这种情况下这种查询是没有问题的,所以我很惊讶SAP使其运行起来如此繁琐。
是否有一种更简单的方法可以在不使用嵌套查询的情况下运行它,而仍然使用简单的命名或编号。 例如,在Teradata中,我只写" Group By 1"。 就这么简单...
谢谢!
select语句的执行顺序如下:
您会看到group by在选择之前执行,这就是为什么您不能在其中使用别名的原因。
ORDER BY在SELECT之后执行,因此您可以在其中使用别名。 因此,在您的示例中,您应该使用以下查询:
谢谢Nagarajan! 但是,我想按卡代码的长度而不是卡代码本身的长度进行分组。 在上面的示例查询中,计数(*)始终等于1。
嗨,
尝试这个简单的查询,
嗨,
尝试此查询,
选择长度,总和(计数)
< p>来自(选择len(T0。[CardCode])AS'length',count(*)as count
从OCRD T0 1 = 1
按T0组。[CardCode] )S
按长度分组
问候
Nagarajan
一周热门 更多>