如何在两列中选择具有相同值集的行,从而连接第三列中的值?

时间:2017-09-09 12:12:28

标签: mysql sql sql-scripts hana-sql-script

Attached Image

我有附图所示的样本值。 我想要实现的是PR_NUMBER字段的值根据PO_NUMBER和PO_ITEM中的相同值连接。

虽然这是一个示例数据,但任何n行都可以具有相同的值,因此需要在PR_NUMBER列中连接所有这些值。

我开始了解CURSORS,但却不知道如何处理它们。

预期的输出图像是

123 | 1 | 5678,6789
456 | 1 | 2322,3432
456 | 2 | 4678

2 个答案:

答案 0 :(得分:0)

您正在寻找group_concat()

select po_number, po_item, group_concat(pr_number)
from t
group by po_number, po_item;

答案 1 :(得分:0)

如果您使用的是SAP HANA,那么您可以使用STRING_AGG(姓名,',')

 SELECT po_number, po_item, STRING_AGG(pr_number, ',')
 from your_table
 group by po_number, po_item;

相反,如果您使用的是mysql,则可以使用group_concat

 SELECT po_number, po_item, group_concat(pr_number, ',')
 from your_table
 group by po_number, po_item;