Gaussdb将一个字段中的多个使用逗号分割的名称转成使用逗号分割的编码

例如:现在有一个表:

某个一个字段中数据为: D1场,D5场,D4场,D3场,D2场,D6场

image

另外有一个库场的信息表,数据如下:

4dfd3a14-550e-4d87-a76d-1a0be07b8190

现在我想将表中对应的名称转换成对应的编码,并且也使用逗号进行分割。

b1ee5c14-f013-4b72-b64f-be11e1f0ddb7

实现代码:

SELECT FO."ORDER_DEPOT",(SELECT STRING_AGG(DC."DEPOT_CODE", ',')FROM UNNEST(STRING_TO_ARRAY(FO."ORDER_DEPOT", ','))  AS T("DEPOT_NAME")JOIN yigongsi."REF_DEPOT" DC ON TRIM(T."DEPOT_NAME") = DC."DEPOT_NAME") AS ORDER_DEPOT_CODE
FROM yigongsi."FRGH_ORDER" FO;

唯一存在的问题: 名称和编码顺序不对应。