字符串\u agg,但另一列中的特定字符串除外

gj3fmq9x  于 2021-07-29  发布在  Java
关注(0)|答案(1)|浏览(311)

我想知道如何排除字符串\u agg中的特定字符串?这是我的原始查询,我想从列名primary上的特定值的连接中排除。对不起,我不知道如何使用正确的格式,我会附上图片,而不是我的场景清晰的图片。

选择t1.id,t1.name,string_agg(trim(t2.country),';')在group(order by country)country内,primary from t1 left join t2 on t1.id=t2.id group by t1.id,t1.name,t1.primary
t1级
id名称主要1白色us 2红色ca 3蓝色us 4绿色gb
t2 id国家1美国1 ca 2 gb 2 de 3 de 3 ca 4 ca 4美国
结果:id名称初级国家1白色美国ca(美国除外,因为它已经在初级)2红色ca gb;判定元件
3蓝色us de;加利福尼亚州
4绿德卡;判定元件;美国(除de外,因为它已经处于初级阶段)

njthzxwz

njthzxwz1#

就用一个 case 表达式:

STRING_AGG(CASE WHEN t2.Country <> Primary THEN Trim(t2.COUNTRY) END, ';') WITHIN GROUP (ORDER BY COUNTRY)
``` `STRING_AGG()` 忽略 `NULL` 价值观。

相关问题