Sql 哈娜康卡特行

Sql 哈娜康卡特行,sql,concat,hana,Sql,Concat,Hana,我使用SAP-HANA数据库。我有一个简单的2列表,其中的列是数字、名称、面条、鱼。这些行是: number name noodles fish 1 tom x 1 tom x 1 jack 2 jack x 我希望按id对行进行分组,并将名称连接到一个字段中,从而获得以下结果: number name noodles fish 1 tom x x 2 ja

我使用SAP-HANA数据库。我有一个简单的2列表,其中的列是数字、名称、面条、鱼。这些行是:

number name noodles fish
1      tom    x     
1      tom           x
1      jack
2      jack  x
我希望按id对行进行分组,并将名称连接到一个字段中,从而获得以下结果:

number  name   noodles   fish

1        tom     x        x
2       jack     x

您能告诉我如何在sap hana中执行此操作吗?提前感谢。

好吧,您并没有真正连接名称,而是保留了相同的名称(如果您也连接了名称,您将在结果中得到类似jackjack的内容)。我猜你的x代表某种ABAP风格的标志

在任何情况下,您都可以通过分组来实现这一点。这完全不是HANA(您可以对任何数据库使用相同的基本SQL)。您可以对多个列进行分组。要选择的所有其他列必须在聚合表达式中使用(例如,总和、最大值、计数等)

为了从您的问题中获得输出,我编写了以下代码:

SELECT "ID", "NAME", MAX("FISH"), MAX("NOODLES") 
    FROM #TEST GROUP BY "ID", "NAME";
得到了和你一样的结果。基于以下假设,我使用了MAX函数:如果该列中的“连接”(聚合)行中有任何X,则需要得到X。如果所有“连接”行中都有空间,则不会得到任何内容/空间