2017-09-09 18 views
1

Attached Image2列の値が同じで、3列目の値を連結する行を選択する方法は?

添付の画像に示すサンプル値があります。 私が達成したいのは、PR_NUMBERフィールドの値がPO_NUMBERとPO_ITEMの同じ値に基づいて連結されるということです。

これはサンプルデータですが、n個の行が同じ値を持つことができるため、PR_NUMBER列のすべての値の連結が必要です。

私はテーブルをループするCURSORSについて知りましたが、実際にそれらと何をするべきか分かりません。あなたはgroup_concat()ため

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

このデータベースは実際に使用しています.. ????? – scaisEdge

+0

SQLでループを使用しない – Hogan

答えて

0

あなたは、あなたが

SELECT po_number, po_item, STRING_AGG(pr_number, ',') 
from your_table 
group by po_number, po_item; 
をSTRING_AGG(名前を、 '')を使用することができ、SAP HANAを使用している場合

mysqlを使用している場合は、group_concatを使用できます

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

ありがとう!私はすでにSTRING_AGGがGROUP_CONTACTの代用品であることを理解しました。ところで、機能がなければそれを行う方法はありますか? –

+0

whit sql not .. DBブランド関連の機能を使用したくない場合は、完全選択で手続き型アプローチを使用して集約を実行する必要があります。 – scaisEdge

0

探している

予想される出力画像がされています

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

GROUP_CONCATはサポートされている関数ではありません。 :/ –

関連する問題